                     min-key (.key (aget iterators current))]
                 (when-not (key= min-key max-key)
                   (.seek (aget iterators current) max-key)
-                  (if (.-end? (aget iterators current))
+                  (if (true? (.-end? (aget iterators current)))
                     (set! end? true)
                     (recur (mod (+ current 1) (alength iterators)))))))))
   (next [this]
         (when (false? end?)
           (.next (aget iterators 0))
-          (if (.-end? (aget iterators 0))
+          (if (true? (.-end? (aget iterators 0)))
             (set! end? true)
             (.search this 1))))
   (seek [this key]
         (when (false? end?)
           (.seek (aget iterators 0) key)
-          (if (.-end? (aget iterators 0))
+          (if (true? (.-end? (aget iterators 0)))
             (set! end? true)
             (.search this 1)))))
 

  ;; cljs.core.pr_str(cemerick.double_check.quick_check(1000, aurora.btree.iterator_prop)
  (dc/quick-check 5000 (intersection-prop 1))
  ;; cljs.core.pr_str(cemerick.double_check.quick_check(1000, aurora.btree.intersection_prop))


  (defn f []

        (aset seek-key moving-key-ix (.key this))
        (.maintain this))
  (up [this]
      (assert (true? end?)) ;; ?
      (assert (> moving-key-ix 0))
      (aset seek-key moving-key-ix greatest)
      (set! moving-key-ix pinned-key-ix)
