 (defn- new-path [level node]
   (loop [ll level
          ret node]
-         (if (= 0 ll)
+         (if (zero? ll)
            ret
            (let [embed ret
                  r (aclone cljs.core.PersistentVector/EMPTY_NODE)

           (aset new-tail (bit-and k 0x01f) v)
           (PersistentVector. meta cnt shift root new-tail))
         (PersistentVector. meta cnt shift (do-assoc coll shift root k v) tail))
       (= k cnt) (-conj coll v)
       :else (throw (js/Error. (str "Index " k " out of bounds  [0," cnt "]")))))

  IVector

  (-pop [coll]
    (cond
     (zero? cnt) (throw (js/Error. "Can't pop empty vector"))
     (== 1 cnt) (-with-meta cljs.core.PersistentVector/EMPTY meta)
     (< 1 (- cnt (tail-off coll)))
      (PersistentVector. meta (dec cnt) shift root (aclone tail))
      :else (let [new-tail (array-for coll (- cnt 2))
