            (when (< (alength keys) min-keys)
              (cond
               (instance? Node parent) (.rotate-left! this min-keys)
-              (== (alength keys) 0) (set! (.-root parent) (aget children 0)))))
+              (and (== (alength keys) 0) (not (nil? children))) (set! (.-root parent) (aget children 0)))))
   (rotate-left! [this min-keys]
                 (if (> parent-ix 0)
                   (let [left-node (aget (.-children parent) (- parent-ix 1))

    (dc/quick-check 1000 total-prop)
    (dc/quick-check 100 (denotational-prop gen-assoc))
    (dc/quick-check 100 (denotational-prop gen-action)))
 )


                 (.dissoc! (aget children ix) key min-keys)))
             result))
  (remove! [this ix min-keys]
           (.splice keys ix 1)
           (.splice vals ix 1)
           (when-not (nil? children)
