        (dotimes [i 500000]
          (.assoc! tree #js [i i i] (* 2 i))))))
 
-  (f)
+  (time (dotimes [_ 10] (f)))
 
   (defn g []
     (time

      (if (< i as-len)
        (let [a (aget as i)
              b (aget bs i)]
          (if (or (and (identical? (typeof a) (typeof b))
                       (< a b))
                  (< (typeof a) (typeof b)))
            true
            false))
        false))))

(defn ^boolean key-gt [as bs]

      (if (< i as-len)
        (let [a (aget as i)
              b (aget bs i)]
          (or (and (identical? (typeof a) (typeof b))
                   (> a b))
              (> (typeof a) (typeof b))))
        false))))

(defn ^boolean key-lte [as bs]
