anchor.diff:              checkNonNull "array2" array2
               checkNonNull "array3" array3
               let len1 = array1.Length
  -            if len1 <> array2.Length then invalidArg "array2" (SR.GetString(SR.arraysHadDifferentLengths))
  -            if len1 <> array3.Length then invalidArg "array3" (SR.GetString(SR.arraysHadDifferentLengths))
  +            if len1 <> array2.Length || len1 <> array3.Length then invalidArg3ArraysDifferent "array1" "array2" "array3" len1 array2.Length array3.Length
               let res = Array.zeroCreateUnchecked len1 
               for i = 0 to res.Length-1 do 
                   res.[i] <- (array1.[i],array2.[i],array3.[i])
  
positive.code:             checkNonNull "array" array
              if startIndex < 0 then invalidArgInputMustBeNonNegative "startIndex" startIndex
              if count < 0 then invalidArgInputMustBeNonNegative "count" count
              if startIndex + count > array.Length then invalidArg "count" (SR.GetString(SR.outOfRange))
              Array.subUnchecked startIndex count array
  
          [<CompiledName("Item")>]
  
negative.code:         [<CompiledName("ChunkBySize")>]
          let chunkBySize chunkSize (array:'T[]) =
              checkNonNull "array" array
              if chunkSize <= 0 then invalidArgInputMustBePositive "chunkSize" chunkSize
              let len = array.Length
              if len = 0 then
                  empty
  