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

                #_(assert (= lower (aget keys 0)) (pr-str lower keys))
                #_(assert (= upper (aget keys (- (alength keys) 1))) (pr-str upper keys)))
              (do
                (dotimes [ix (count children)]
                  (assert (= ix (.-parent-ix (aget children ix)))))
                (assert (= (count keys) (count vals) (dec (count children))) (pr-str keys vals children))
                #_(assert (= lower (.-lower (aget children 0))) (pr-str lower (.-lower (aget children 0))))
                #_(assert (= upper (.-upper (aget children (- (alength children) 1)))) (pr-str upper (.-upper (aget children (- (alength children) 1)))))
