some clojure macros