anchor.diff:      static member ZeroCreate initCount =
           let bra = new BlockResizeArray<_>()
           let blockSize = 1 <<< bra.Shift
  -        let blocksCount =  int <| initCount / blockSize
  -        let smallPartCount = initCount % blockSize
  +        let blocksCount =  initCount / blockSize
           if blocksCount <> 0
           then          
  -            let l = blocksCount * 2
  +            let l = blocksCount + 1
               let newArr = Array.init l (fun _ -> Array.zeroCreate<_> blockSize)
               bra.SetArrays newArr
           bra.setCount initCount
  
positive.code:     static member Init initCount (f : int -> 'T)  =
          let bra = new BlockResizeArray<_>()
          let blockSize = 1 <<< bra.Shift
          let blocksCount =  int <| initCount / blockSize
          let smallPartCount = initCount % blockSize
          if blocksCount = 0
          then
               let arr = Array.init initCount f
               Array.blit arr 0 bra.Arrays.[0] 0 initCount
          else
              let l = blocksCount * 2
              let newArr = Array.init l (fun i -> if i < blocksCount then Array.init blockSize (fun j -> f (blockSize * i + j)) else Array.zeroCreate<'T> blockSize)
              if smallPartCount <> 0
              then
                  let s = Array.init smallPartCount (fun j -> f (blockSize * blocksCount + j))
                  Array.blit s 0 newArr.[blocksCount] 0 smallPartCount 
              bra.SetArrays newArr
          bra.SetActive (blocksCount + 1)
          bra.setCount initCount
  
negative.code:                         arr.Add a
                          a <- Array.zeroCreate blockSize
                          index <- 0
          if index <> 0
          then
              arr.Add a
          let l = arr.Count
          let resArr = Array.zeroCreate l
          for i = 0 to l - 1 do
              resArr.[i] <- arr.[i]
          bra.SetArrays resArr
  