&gt;I don&#x27;t understand that.<p>Introducing state into programs makes them harder to reason about, thus Scheme programmers generally discourage the use of mutable data structures when a persistent data structure would have worked.<p>&gt;Those look like like they could be useful, but I don&#x27;t see how they can replace hashmaps --- for one thing, they allow duplicate &quot;keys&quot; (the first element of each pair).<p>The way alists are used, only the first pair to contain the desired key is considered.  Thus, you can &quot;overwrite&quot; a key&#x2F;value pair by consing a new pair onto the head of the list.<p>&gt;I&#x27;d use a lisp, and don&#x27;t mind the lisp&#x2F;parens syntax, but to be useful for me it must provide easy access to and use of hashmaps and sets.<p>I had the same initial complaints about the lack of reader syntax for hash table.  It&#x27;s a common complaint, actually.  However, I found that as I learned more about how to write Scheme, I stopped using hash tables in any place where I used to want literal syntax for them.  I learned that people reach for mutable hash tables far too frequently when there are better options available.<p>What languages even have literal syntax for sets?  I can&#x27;t think of any, but I&#x27;d like to know.<p>Reader syntax varies in each language, but I hope you can see that this really isn&#x27;t a big problem at all.