             (ddiff (conj path ky) (get a ky) (get b ky) d)) diffs (keys b)))
 
 (defn map-diff [path a b diffs]
-  #_(println "map-diff" a b "@" path " : " diffs)
+  (println "map-diff" a b "@" path " : " diffs)
   (let [a-keys (into #{} (keys a))
         b-keys (into #{} (keys b))
         del-keys (s/difference a-keys b-keys)

(defn delta [old-state]
  (if old-state
   (let [os (.getIfPresent cache! old-state)]
      (ddiff [] os (:state @current-state) #{}))
   (ddiff [] nil (:state @current-state) #{})))


              (ddiff (conj path index) oitem itm d))) diffs (range 0 (count b))))

(defn vector-diff [path a b diff]
  (println "vector-diff" a b "@" path " : " diff)
  (if (= a b)
    diff
    (let [[diffing rest] (split-at (count a) b)
