Clojure macros for function definitions