"Invalid arity: 0" error in a macro

I got more details after trying:

foo.core$macros=> (defmacro $ [tag props & children]
             #_=>   `(let [props# ~props
             #_=>          attrs# (respo.util.list/pick-attrs props#)
             #_=>          styles# (if (contains? props# :style) (sort-by first (:style props#)) (list))
             #_=>          event# (or (:on props#) (:event props#) {})
             #_=>          child-map# (respo.util.list/arrange-children-old ~children)]
             #_=>      {:name ~tag,
             #_=>       :coord nil,
             #_=>       :attrs attrs#,
             #_=>       :style styles#,
             #_=>       :event event#,
             #_=>       :children child-map#}))
#'foo.core$macros/$
foo.core$macros=> (macroexpand '(foo.core/$ :div {} []))
(let*
 [props__41__auto__
  {}
  attrs__42__auto__
  (respo.util.list/pick-attrs props__41__auto__)
  styles__43__auto__
  (if
   (cljs.core/contains? props__41__auto__ :style)
   (cljs.core/sort-by cljs.core/first (:style props__41__auto__))
   (cljs.core/list))
  event__44__auto__
  (cljs.core/or (:on props__41__auto__) (:event props__41__auto__) {})
  child-map__45__auto__
  (respo.util.list/arrange-children-old ([]))]
 {:name :div,
  :coord nil,
  :attrs attrs__42__auto__,
  :style styles__43__auto__,
  :event event__44__auto__,
  :children child-map__45__auto__})