title: Why does (keys "") return nil in Clojure, whereas (keys "abc") is an error?
body: <p>I'm new to Clojure. The behaviour of <a href="http://clojure.github.com/clojure/clojure.core-api.html#clojure.core/keys" rel="noreferrer">keys</a> strikes me as inconsistent:</p>
  
  <pre><code>user=&gt; (keys "")
  nil
  user=&gt; (keys "abc")
  ClassCastException
  </code></pre>
  
  <p>Empty collections appear to be treated specially, and the <a href="https://github.com/clojure/clojure/blob/c77e5bd/test/clojure/test_clojure/data_structures.clj#L477-481" rel="noreferrer">test cases</a> indicate that this is intentional. What's the thinking behind this behaviour?</p>