 
 (defn update-tree!
   [tree recent-trees]
-  #spy/d @recent-trees
-  (reset! #spy/d (-> tree
-                     :inner-path
-                     (@recent-trees))
+  (reset! (-> tree
+              :inner-path
+              (@recent-trees))
           tree))
 
 (defn conj-to-parent!

(defn tr-fn
  [inner-path [recent-trees src-map] template f]
  (fn [& args]
    (let [this (-> @(produce-recent-tree-atom! #spy/d inner-path
                                               recent-trees)
                   (merge #spy/d template)
                   (assoc :args (vec args)
                          :arg-map (delay (zipmap (:arg-forms template)
                                                  args))


   (-/p (eval (xpand form3 {:name "name1" :ns "ns1"} )))

   (let [parent {:depth 2 :path [:11 :22] :children (atom [])}]
     (binding [trace/*trace-log-parent* parent]
       (eval (xpand form3 {:name "name1" :ns "ns1"} )))
     (-/p parent))

   (let [parent {:depth 2
                 :path [:11 :22]
                 :children (atom [])
                 :args []
                 :name 'dummy
                 :return nil
                 :arg-map {}
                 :id :22}
         traced-fn (deep-tracer {:workspace nil
                                 :qual-sym 'com.billpiel.sayid.deep-trace2/f1
                                 :meta' (meta #'f1)
                                 :ns' 'com.billpiel.sayid.deep-trace2})]
     (binding [trace/*trace-log-parent* parent]
       (-/p (traced-fn 23)))
     (def p' parent)
     (-/p parent))

   ;; ffff

   (comment))

(defn f1 [a] (if (= 1 2)
               (inc a)
               (-> a dec str keyword)))

(defn xpand-bod
  [fn-bod parent-fn-meta]
