anchor.diff:      module List = 
   
           let inline indexNotFound() = raise (new System.Collections.Generic.KeyNotFoundException(SR.GetString(SR.keyNotFoundAlt)))
  -
  -        let inline checkNonNull argName arg = 
  -            match box arg with 
  -            | null -> nullArg argName 
  -            | _ -> ()
   
           [<CompiledName("Length")>]
           let length (list: 'T list) = list.Length
  
positive.code: 
          [<CompiledName("Average")>]
          let inline average      (list:list<'T>) =
              checkNonNull "list" list
              match list with 
              | [] -> invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString;
              | _ ->
  
negative.code:                 loop list LanguagePrimitives.GenericZero< 'T > 0
  
          [<CompiledName("AverageBy")>]
          let inline averageBy (f : 'T -> 'U) (list:list<'T>) =
              match list with 
              | [] -> invalidArg "source" LanguagePrimitives.ErrorStrings.InputSequenceEmptyString;
              | _ ->
                  let rec loop xs sum count = 
                      match xs with 
                      | [] -> LanguagePrimitives.DivideByInt sum count
                      | h::t -> loop t (Checked.(+) sum (f h)) (count + 1)
                  loop list LanguagePrimitives.GenericZero< 'U > 0
  
          [<CompiledName("Collect")>]
          let collect f list = Microsoft.FSharp.Primitives.Basics.List.collect f list
  