   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))

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

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

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

  IReduce
  (-reduce [coll f] (seq-reduce f coll))
  (-reduce [coll f start] (seq-reduce f start coll)))

(defn- create-inode-seq [nodes i dlen nloc s]
  (if (nil? s)
    (cond
      (< i dlen)
      (NodeSeq. nil nodes dlen nloc i nil nil)
      (> nloc dlen)
      (NodeSeq. nil nodes dlen (dec nloc) i (.inode-seq (aget nodes nloc)) nil))
    (NodeSeq. nil nodes dlen nloc i s nil)))

(extend-protocol IPrintWithWriter
  NodeSeq
