If one tries to type hint a Var in Clojure/JVM like this:
(def ^long foo 1)
then the metadata associated with foo is actually {:tag x} where x is the function clojure.core/long. Such a type hint causes no errors or warnings from Clojure, but it also does not help in avoiding reflection during Java interop. A type hint that does help avoid reflection is:
(def ^{:tag 'long} foo 1)
Is it documented elsewhere, perhaps?
Thanks,
Andy