 
      (clojure.pprint/pprint
       (deep-zipmap-all (swap-in-path-syms src)
-                                         src)
-
-                            )
+                       src)
+
+      )
 
      (swap-in-path-syms
-      (clojure.walk/macroexpand-all src)))
+      (clojure.walk/macroexpand-all src))
+
+     (defn pf [s path f parent]
+       (if (and (= 0 (last path)) (seq? parent) )
+         `(fff ~f '~(get mmm s {}))
+         f))
+
+     (defn fff [f m] (fn [& x] (println (first m)) (println x) (apply f x))))

         noob)))

(defn swap-in-path-syms*
  [form func & [path]]
  (cond
    (special-operator? form) form
    (coll? form)  (back-into form
                             (doall (map-indexed #(swap-in-path-syms* %2
                                                                      func
                                                                      (conj (or (not-empty path)
                                                                                [])
                                                                            %))

                                %)
                            %)
                         coll))

(defn get-path->form-maps
  [src]
