anchor.diff:              let count2 = length2 array 
               let b1 = base1 array 
               let b2 = base2 array 
  -            for i = b1 to b1+count1 - 1 do 
  -              for j = b2 to b2+count2 - 1 do 
  -                action array.[i,j]
  +            for i = b1 to b1 + count1 - 1 do 
  +              for j = b2 to b2 + count2 - 1 do 
  +                action array.[i, j]
   
           [<CompiledName("IterateIndexed")>]
           let iteri (action : int -> int -> 'T -> unit) (array:'T[,]) =
               checkNonNull "array" array
  -            let count1 = length1 array 
  -            let count2 = length2 array 
  -            let b1 = base1 array 
  -            let b2 = base2 array 
  -            let f = OptimizedClosures.FSharpFunc<_,_,_,_>.Adapt(action)
  -            for i = b1 to b1+count1 - 1 do 
  -              for j = b2 to b2+count2 - 1 do 
  -                f.Invoke(i, j, array.[i,j])
  +            let count1 = length1 array
  +            let count2 = length2 array
  +            let b1 = base1 array
  +            let b2 = base2 array
  +            let f = OptimizedClosures.FSharpFunc<_, _, _, _>.Adapt(action)
  +            for i = b1 to b1 + count1 - 1 do
  +              for j = b2 to b2 + count2 - 1 do
  +                f.Invoke(i, j, array.[i, j])
   
           [<CompiledName("Map")>]
           let map mapping array = 
  
positive.code:                 (System.Array.CreateInstance(typeof<'T>, [|length1;length2|]) :?> 'T[,])
  #endif                
              else
                  (Array.CreateInstance(typeof<'T>, [|length1;length2|],[|base1;base2|]) :?> 'T[,])
  
          [<CompiledName("CreateBased")>]
          let createBased base1 base2 length1 length2 (initial:'T) = 
              let array = (zeroCreateBased base1 base2 length1 length2 : 'T[,])  
              for i = base1 to base1+length1 - 1 do 
                for j = base2 to base2+length2 - 1 do 
                  array.[i,j] <- initial
              array
  
          [<CompiledName("InitializeBased")>]
          let initBased base1 base2 length1 length2 initializer = 
              let array = (zeroCreateBased base1 base2 length1 length2 : 'T[,])
              let f = OptimizedClosures.FSharpFunc<_,_,_>.Adapt(initializer)
              for i = base1 to base1+length1 - 1 do 
                for j = base2 to base2+length2 - 1 do 
                  array.[i,j] <- f.Invoke(i, j)
              array
  
  
          [<CompiledName("Create")>]
          let create length1 length2 (value:'T) = 
  
negative.code:             checkNonNull "array" array
              let b1 = base1 array
              let b2 = base2 array
              init (length1 array) (length2 array) (fun i j -> array.[b1 + i, b2 + j])
  
          [<CompiledName("CopyTo")>]
          let blit (source : 'T[,])  sourceIndex1 sourceIndex2 (target: 'T[,]) targetIndex1 targetIndex2 count1 count2 = 
  