anchor.diff:  let scanBack f (arr : ResizeArray<'T>) acc = 
       let arrn = length arr
       scanBackSub f arr 0 (arrn - 1) acc
  -
  -//
  -[<CompiledName("Singleton")>]
  -let singleton x =
  -    let res = new ResizeArray<_>(1)
  -    res.Add(x)
  -    res
           
   //
   [<CompiledName("TryFindIndexIndexed")>]
  
positive.code:         //keyNotFound ""
          raise <| System.Collections.Generic.KeyNotFoundException ()
  
  
  (* Functions below this point still need to be cleaned up. *)
  
  //
  [<CompiledName("Concat")>]
  let concat (arrs: ResizeArray<'T> list) = new ResizeArray<_> (seq { for arr in arrs do for x in arr do yield x })
      
  //
  [<CompiledName("Append")>]
  let append (arr1: ResizeArray<'T>) (arr2: ResizeArray<'T>) = concat [arr1; arr2]
  
  //
  [<CompiledName("Unzip")>]
  let sub (arr: ResizeArray<'T>) start len =
      if start < 0 then invalidArg "start" "index must be positive"
      if len < 0 then invalidArg "len" "length must be positive"
      if start + len > length arr then invalidArg "len" "length must be positive"
      new ResizeArray<_> (seq { for i in start .. start+len-1 -> arr.[i] })
  
  //
  [<CompiledName("Fill")>]
  let fill (arr: ResizeArray<'T>) (start: int) (len: int) (x:'T) =
      if start < 0 then invalidArg "start" "index must be positive"
      if len < 0 then invalidArg "len" "length must be positive"
      if start + len > length arr then invalidArg "len" "length must be positive"
      for i = start to start + len - 1 do 
          arr.[i] <- x
  
  //
  [<CompiledName("Copy")>]
  let inline copy (arr: ResizeArray<'T>) = ResizeArray<_>(arr)
  
  let inline private indexNotFound () =
      keyNotFound "An index satisfying the predicate was not found in the collection"
  
  //
  [<CompiledName("Iter2")>]
  
negative.code:     loop 0
  
  //
  [<CompiledName("FoldSub")>]
  let foldSub f acc (arr: ResizeArray<_>) start fin = 
      let mutable res = acc
  