anchor.diff:             
         
       let init count f = 
  -        if count < 0 then invalidArg "count" LanguagePrimitives.ErrorStrings.InputMustBeNonNegativeString
  +        if count < 0 then 
  +            invalidArgFmt "count" "{0}\ncount = {1}" [|LanguagePrimitives.ErrorStrings.InputMustBeNonNegativeString; count|]
           if count = 0 then [] 
           else 
               let res = freshConsNoTail (f 0)
  
positive.code: #endif  
  
  
  module internal List = 
  
      let arrayZeroCreate (n:int) = (# "newarr !0" type ('T) n : 'T array #)
  
negative.code:             let cons = freshConsNoTail (f.Invoke(h1,h2,h3))
              map3ToFreshConsTail cons f t1 t2 t3
              cons
          | xs1,xs2,xs3 -> 
              invalidArgFmt "list1, list2, list3" 
                  "{0}\n list1.Length = {1}, list2.Length = {2}, list3.Length = {3}" 
                  [|SR.GetString SR.listsHadDifferentLengths; xs1.Length; xs2.Length; xs3.Length|]
  
      let rec mapi2ToFreshConsTail n cons (f:OptimizedClosures.FSharpFunc<_,_,_,_>) xs1 xs2 = 
          match xs1,xs2 with
  