      (let [key1hash (hash key1)]
        (if (== key1hash key2hash)
          (HashCollisionNode. nil key1hash 2 (array key1 val1 key2 val2))
-         (let [added-leaf? (array false)]
+         (let [added-leaf? (Box. false)]
            (-> cljs.core.BitmapIndexedNode/EMPTY
                (.inode-assoc shift key1hash key1 val1 added-leaf?)
                (.inode-assoc shift key2hash key2 val2 added-leaf?))))))


;;; PersistentHashMap

(declare create-inode-seq create-array-node-seq reset! create-node atom deref)

(defn ^boolean key-test [key other]

          (if (identical? node root)
            nil
            (set! root node))
          (if ^boolean (.-val added-leaf?)
            (set! count (inc count)))
          tcoll))
      (throw (js/Error. "assoc! after persistent!"))))
