anchor.diff:          map fst list,
           map snd list
   
  +    /// <summary>
       /// Return a new collection which on consumption will consist of only the
  -    /// elements of the collection for which the given predicate returns "true".
  +    /// elements of the collection for which the given predicate returns <c>true</c>.
  +    /// </summary>
       [<CompiledName("Filter")>]
       let rec filter predicate (list : LazyList<'T>) =
           // Preconditions
           checkNonNull "list" list
   
  -        lzy <| fun () ->
  +        LazyList<_>.CreateLazy <| fun () ->
               filterCell predicate list
   
       and private filterCell predicate list =
  
positive.code:     // the end of the enumeration; this function can therefore cause memory leaks
      // if not used carefully.
      let rec private ofFreshIEnumerator (e : IEnumerator<'T>) =
          lzy <| fun () ->
              if e.MoveNext () then
                  consCell e.Current (ofFreshIEnumerator e)
              else
  
negative.code:         if count < 0 then
              argOutOfRange "count" "Cannot take a negative number of elements."
  
          LazyList<_>.CreateLazy <| fun () ->
              if count = 0 then
                  Empty
              else
  