super rough cljs port of go macro
Merge branch 'master' into forkjoin