                             (traverse-postorder-with-state-sub
                              state x visit access))
                           state (access expr))
+        _ (do (println "expr=" expr)
+              (println "children=" children))
         expr (access expr children)]
     (visit state expr)))
 

    [new-state
     (denormalize-coll coll new-coll)]))

;;;;;;;;;;;;;;;;;;; Helpers
(defn only-visit [x? v]
  (fn [x]

               [m c] (traverse-postorder-cached-coll m c cfg)]
           [m ((:visit cfg) ((:access-coll cfg) expr c))]))))

(def normalized-coll-accessor)

(def default-traverse-cfg {:access-coll normalized-coll-accessor})

(defn traverse-postorder-cached
  ([m expr cfg]
