anchor.diff:              | "skip" -> icall "slice" (i.args.Tail.Head, [i.args.Head])
               | "copy" -> icall "slice" (i.args.Head, [])
               | "getSubArray" | "fill" ->
  -                ccall com i "Array" i.methodName i.args |> Some
  +                ccall i "Array" i.methodName i.args |> Some
               | "truncate" ->
                   // Array.truncate count array
                   emit i "$1.slice(0, $0)" i.args |> Some
  
positive.code:             makeGet i.range i.returnType i.callee.Value (makeConst "size") |> Some
          | "isReadOnly" ->
              Fable.BoolConst false |> Fable.Value |> Some
          | "clear" -> icall com i "clear" |> Some
          | "contains" -> icall com i "has" |> Some
          | "remove" -> icall com i "delete" |> Some
          | "isProperSubsetOf" | "isProperSupersetOf"
          | "add" ->
              CoreLibCall ("Set", Some "addInPlace", false, [i.args.Head;i.callee.Value])
  
negative.code:                 makeEqOp i.range [x; y] BinaryEqualStrict |> Some
              | Some x, [y; kind]
              | None, [x; y; kind] ->
                  makeEqOp i.range [ccall i "String" "compare" [x; y; kind]; makeConst 0] BinaryEqualStrict |> Some
              | _ -> None
          | "contains" ->
              if (List.length i.args) > 1 then addWarning com i.fileName i.range "String.Contains: second argument is ignored"
  