Just ran across another great essay by Rich Hickey (the designer and
benevolent dictator of the Clojure language), in which he reminds
creators of contrib libraries of the wastefulness of adding classes
and types to a language with pervasive map abstractions. Check it
out. This isn't a Lisp or Clojure specific problem. The central
principle at work here is Alan Perlis' off-cited quote:
"It is better to have 100 functions operate on one data structure
than 10 functions on 10 data structures."
So dig it, and hack on.