anchor.diff:  
   let foldBackIndexed2<'T1, 'T2, 'State> folder (array1: 'T1[]) (array2: 'T2[]) (state:'State) =
      let mutable acc = state
  -   if length array1 <> length array2 then failwith "Arrays had different lengths"
  -   let size = length array1
  +   if lengthImpl array1 <> lengthImpl array2 then failwith "Arrays had different lengths"
  +   let size = lengthImpl array1
      for i = 1 to size do
         acc <- folder (i-1) array1.[size - i] array2.[size - i] acc
      acc
  
positive.code: module Array
  
  // This value is for use by compiled F# code and should not be used directly.
  // We can use LanguagePrimitives.ErrorStrings.
  // TODO: Approve please if we really need to use ErrorStrings here
  #nowarn "1204"
  
  open Fable.Core
  
negative.code:     if index < 0 then invalidArg "index" LanguagePrimitives.ErrorStrings.InputMustBeNonNegativeString
      if index > array.Length then invalidArg "index" "The input sequence has an insufficient number of elements."
  
      sliceImpl array 0 index, sliceFromImpl array index
  
  let compareWith (comparer: 'T -> 'T -> int) (array1: 'T[]) (array2: 'T[]) =
      let length1 = array1.Length
      let length2 = array2.Length
  
  