anchor.diff:  /// threading an accumulator argument through the computation.  The two input arrays must
   /// have the same lengths, otherwise an <c>ArgumentException</c> is raised.
   /// </summary>
  +/// <param name="folder"></param>
  +/// <param name="state"></param>
  +/// <param name="resizeArray1"></param>
  +/// <param name="resizeArray2"></param>
  +/// <returns></returns>
   [<CompiledName("Fold2")>]
  -let fold2 folder (state : 'State)
  -    (resizeArray1 : ResizeArray<'T1>) (resizeArray2 : ResizeArray<'T2>) : 'State =
  +let fold2 folder (state : 'State) (resizeArray1 : ResizeArray<'T1>) (resizeArray2 : ResizeArray<'T2>) : 'State =
       // Preconditions
       checkNonNull "resizeArray1" resizeArray1
       checkNonNull "resizeArray2" resizeArray2
  
positive.code: /// <summary>
  /// Like <c>foldBack</c>, but return both the intermediary and final results.
  /// </summary>
  [<CompiledName("ScanBack")>]
  let scanBack folder (resizeArray : ResizeArray<'T>) (state : 'State) : ResizeArray<'State> =
      // Preconditions
  
negative.code:     for i = 0 to len - 1 do
          action.Invoke (i, resizeArray1.[i], resizeArray2.[i])
  
  /// <summary>
  /// Build a new array whose elements are the results of applying the given function
  /// to each of the elements of the array.
  /// </summary>
  /// <param name="mapping"></param>
  /// <param name="resizeArray"></param>
  /// <returns></returns>
  [<CompiledName("Map")>]
  let inline map (mapping : 'T -> 'U) (resizeArray : ResizeArray<'T>) : ResizeArray<'U> =
      // Preconditions
  