anchor.diff:                      ArrayNode(ref null, this.count, NodeHelpers.cloneAndSet(this.array, idx, n)) :> INode
   
               member this.without(thread1, shift, hashKey, key, removedLeaf) =
  -                let idx = NodeHelpers.mask(hashKey, shift)
  +                let idx = BitCount.mask(hashKey, shift)
                   let node = this.array.[idx]
                   if node = Unchecked.defaultof<INode> then this :> INode else
                   let n = node.without(thread1, shift + 5, hashKey, key, removedLeaf)
  
positive.code:                         
  
              member this.without(shift, hashKey, key) =
                  let bit = NodeHelpers.bitpos(hashKey, shift)
                  if (this.bitmap &&& bit) = 0 then this :> INode else
                  let idx = NodeHelpers.index(this.bitmap,bit)
                  let keyOrNull = this.array.[2*idx]
                  let valOrNode = this.array.[2*idx+1]
                  if keyOrNull = null then
  
negative.code:                     let n = BitCount.NumberOfSetBits(this.bitmap)
                      if n >= 16 then
                          let nodes = Array.create 32 Unchecked.defaultof<INode>
                          let jdx = BitCount.mask(hashKey, shift)
                          nodes.[jdx] <- (BitmapIndexedNode() :> INode).assoc(shift + 5, hashKey, key, value, addedLeaf)
                          let mutable j = 0
                          for i in 0..31 do
  