              (debug :search max-key current seek-key)
              (aset seek-key new-var max-key)
              (.seek iterator seek-key)
-             (if (.end? iterator)
+             (if (true? (.end? iterator))
                (do
                  (.undo iterator)
                  (recur new-var (- new-var 1) 0))

                       (.pop (aget iterators i))))))
               (let [old-key (.inner-key iterator)]
                 (.next iterator)
                 (if (.end? iterator)
                   (do
                     (.undo iterator)
                     (recur new-var (- new-var 1) 0))

              #js [key val child])
            #js [key val])))
  (maintain! [this max-keys]
             (assert (not (nil? max-keys)))
             (when-not (nil? parent)
               (let [min-keys (js/Math.floor (/ max-keys 2))]
                 (when-not (nil? children)
