anchor.diff:      ///Applies a function to each element of the collection, threading an accumulator argument through the computation.
       member this.Fold (folder : 'State -> 'T -> 'State) (state : 'State) : 'State =
           let mutable state = state
  -        for i in 0..active do
  -            let r = Array.fold folder state arrays.[i]
  -            state <- r 
  +        let tail = count % blockSize
  +        if active > 1
  +        then
  +            if tail = 0
  +            then
  +                for i in 0..active - 1 do
  +                    state <- Array.fold folder state arrays.[i]
  +            else
  +                for i in 0..active - 2 do
  +                    state <- Array.fold folder state arrays.[i]
  +                let a = arrays.[active - 1]
  +                for i in 0..tail - 1 do
  +                    state <- folder state a.[i]
  +        else
  +            let a = arrays.[active - 1]
  +            for i in 0..tail - 1 do
  +                state <- folder state a.[i]
           state
               
       ///Returns a new collection containing only the elements of the collection for which the given predicate returns true.
  
positive.code:     member this.Find f = 
          let mutable c = None
          let mutable i = 0
          while(c.IsNone && i < active) do
              c <- Array.tryFind f arrays.[i]
              i <- i + 1    
          if c.IsSome then c.Value else raise(System.Collections.Generic.KeyNotFoundException())
  
negative.code:     member this.TryFind f =
          let mutable c = None
          let mutable i = 0
          while c.IsNone && i < active do
              c <- Array.tryFind f arrays.[i]
              i <- i + 1
          c
  