I am sure someone wanted to do (->> {:more :metadata} (defn ... )) and fixed the issue right there.
Someone else in the chat did some detective work and this is what she came up with:
* defn went from a simple form that could only create single arity definitions to the current multiple-arity definitions, and when it did this, it introduced the metadata options. Back then, all of this was in src/boot.clj. The checkin was23df286 on Mar 7, 2008https://github.com/clojure/clojure/commit/23df28671fe46d4a39d2aadc36262c9dae1f406a * Rich updated defn in 2009 and it was in there prior to that. * Alex added the extra arglists entry that describes it in 2011.
So the multiple attr-map? values have been around since attr-maps were first introduced. No explanation why