Comment Comment by dmitriz I have just tried it in REPL and got this cryptic error: cljs.user=> (defmacro swap [x] (list (second x) (first x) (last x))) #'cljs.user/swap cljs.user=> (swap (1 + 2)) Execution error (Error) at (<cljs repl>:1). 1.call is not a function parent dmitriz 7 years ago