   (-meta [coll] meta)
 
   IWithMeta
-  (-with-meta [coll meta] (NodeSeq. meta nodes dlen nloc i s __hash))
+  (-with-meta [coll meta] (NodeSeq. meta arr lvl nodes cursors-lengths data-idx data-len __hash))
 
   ICollection
   (-conj [coll o] (cons o coll))

  ITransientMap
  (-dissoc! [tcoll key] (.without! tcoll key)))

(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]
    (let [nodes (make-array 7)
          cursors-lengths (make-array 14)]
      (aset nodes 0 inode)
      (aset cursors-lengths 0 0)
      (aset cursors-lengths 1 (.node-arity inode))
      (if (zero? datamap)
        (create-inode-seq arr 0 nodes cursors-lengths 0 (.data-arity inode))
        (NodeSeq. nil arr 0 nodes cursors-lengths 0 (.data-arity inode) nil))))

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