   ITransientAssociative
   (-assoc! [tcoll key val] (.assoc! tcoll key val)))
 
-(deftype NodeSeq [meta nodes dlen nlen i s ^:mutable __hash]
+(deftype NodeSeq [meta nodes dlen nloc i s ^:mutable __hash]
   Object
   (toString [coll]
     (pr-str* coll))


  (-rest [coll]
    (if (nil? s)
      (let [len (alength nodes)]
        (cond
          (< i dlen)
          (NodeSeq. meta nodes dlen nlen (+ i 2) nil nil)
          (and (== i dlen) (not (zero? nlen)))
          (NodeSeq. meta nodes dlen nlen len (aget nodes len) nil)
          :else
          (NodeSeq. meta nodes dlen nlen (dec i) (aget nodes (dec i)) nil)))
      (NodeSeq. meta nodes dlen nlen i (next s) nil)))

  ISeqable
  (-seq [this] this)

                (BitmapIndexedNode. medit new-datamap 0 (array key2 val2 key1 val1)))))))))

  (inode-seq [inode]
    (NodeSeq. nil arr (dec (* 2 (bit-count datamap))) (dec (alength arr)) 0 nil nil))

  (inode-assoc [inode aedit shift hash key val changed?]
    (let [bit (bitpos hash shift)]
