I don&#x27;t think this is a particularly large problem.  Traditional hash tables are imperative data structures, and Lisp code (or Scheme code, at least) typically does not use them because of this.  Association lists, which can be represented as literals, are persistent and provider faster lookup, despite being O(n), for the cases in which hash literals are typically used (small number of pairs).  The Clojure language has built-in persistent hash tables and sets, so it makes sense for them to have a reader that can process them.  I really don&#x27;t think this is a deal breaker though, when you can just do stuff like this:<p><pre><code>    (alist-&gt;hash-table &#x27;((foo . 1) (bar . 2)))</code></pre>