Как вы использовали метаданные в своей программе Clojure?
Я видел один пример из программирования Clojure:
(defn shout [#^{:tag String} message] (.toUpperCase message))
;; Clojure casts message to String and then calls the method.
Каковы некоторые виды использования? Эта форма программирования для меня совершенно новая.