В clojure есть что-то вроде "is-macro?"проверить, является ли что-то макросом?
Учитывая переменную, ее метаданные могут сказать вам, является ли это макросом:
(:macro (meta #'when)) => true (:macro (meta #'identity)) => nil