                 (run-denotational-prop min-keys actions)))
 
 ;; TODO iterator tests
+
+(apply run-denotational-prop [1 [[:assoc! 0 0] [:assoc! 1 0] [:assoc! 4 0] [:assoc! 2 0] [:assoc! -1 0] [:assoc! 3 0] [:assoc! -2 0] [:dissoc! 0] [:assoc! 0 0]]])
 
 (comment
   (do

            (apush* (.-keys left-node) (.-keys right-node))
            (apush* (.-vals left-node) (.-vals right-node))
            (when-not (nil? children)
              (apush* (.-children left-node) (.-children right-node)))
            (set! (.-upper left-node) (.-upper right-node))
            (.remove! parent separator-ix min-keys)))


(defn apply-to-tree [tree actions]
  (doseq [action actions]
    (case (nth action 0)
      :assoc! (.assoc! tree (nth action 1) (nth action 2))
      :dissoc! (.dissoc! tree (nth action 1)))
    (do
      (prn action)
      (.pretty-print tree)
      (prn tree)
      (.valid! tree)))
  tree)

(defn apply-to-sorted-map [map actions]
