Round-tripping from LinkedHashMaps to Clojure collections
I think automatically creating keywords from string keys and string keys from keywords is not a good idea, for three reasons.


It would be surprising to a user to have values change classes when theoretically just pouring the contents of one map into another.
In the space of possible key transformations, keyword&lt;-->string is just one point. As a user, I might want to do many other kinds of transformations while converting. For a more general approach, think about how transducers can be supplied to the four-argument form of into.
Keywords are interned. This may be a source of your memory trouble. Every new keyword gets stored permanently in the heap. That's how Clojure does fast keyword comparison by just checking object references. That means a property-based test that generates huge numbers of unique keywords is going to consume a lot of memory.