     d3))
 
 (defn ddiff [path a b diffs]
-  #_(println "ddiff" a b "@" path " : " diffs)
+  (println "ddiff" a b "@" path " : " diffs)
   (cond
    (= a b) diffs
    (every? vector? [a b]) (vector-diff path a b diffs)

            (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)
  (let [a-keys (into #{} (keys a))
        b-keys (into #{} (keys b))
        del-keys (s/difference a-keys b-keys)

              (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)
