                             path')))
     form))
 
-;; TODO should take coll of forms?
 (defn xpand
   [form parent-fn-meta]
   (let [expr-map (mk-expr-mapping form)]

(defn xpand-fn
  [head form path]
  (cons
   (list 'capture-fn path '$$ head)
   (rest form)))

(defn xpand-macro

          xx (clojure.walk/macroexpand-all form)] ;; TODO better way?
      (conj (mapcat form->xform-map* x)
            {form xx}))
    [{form form}]))

(defn form->xform-map
  [form]
