anchor.diff:              let cons = freshConsNoTail (f.Invoke(0, h1,h2))
               mapi2ToFreshConsTail 1 cons f t1 t2
               cons
  -        | [],xs2 -> 
  -            invalidArgFmt "list1" 
  -                "{0}\nlist1 is {1} elements shorter than list2" 
  -                [|SR.GetString SR.listsHadDifferentLengths; xs2.Length|]
  -        | xs1,[] -> 
  -            invalidArgFmt "list2" 
  -                "{0}\nlist2 is {1} elements shorter than list1" 
  -                [|SR.GetString SR.listsHadDifferentLengths; xs1.Length|]
  +        | [],xs2 -> invalidArgDifferentListLength "list1" "list2" xs2.Length
  +        | xs1,[] -> invalidArgDifferentListLength "list2" "list1" xs1.Length
       
       let rec scanToFreshConsTail cons xs s (f: OptimizedClosures.FSharpFunc<_,_,_>) =
           match xs with
  
positive.code:                 chunkBySizeToFreshConsTail cons resCons chunkSize (i+1) t
  
      let chunkBySize chunkSize list =
          if chunkSize <= 0 then invalidArgFmt "chunkSize" "{0}\nwindowSize = {1}" [|SR.GetString SR.inputMustBePositive; chunkSize|]
          match list with
          | [] -> []
          | head::tail ->
  
negative.code:             zip3ToFreshConsTail res t1 t2 t3
              res
          | xs1,xs2,xs3 -> 
              invalidArg3ListsDifferent "list1" "list2" "list3" xs1.Length xs2.Length xs3.Length 
  
      let rec takeWhileFreshConsTail cons p l =
          match l with
  