anchor.diff:  
       /// Return the first element of the list.
       /// Forces the evaluation of the first cell of the list if it is not already evaluated.
  +    [<CompiledName("Head")>]
       let head (list : LazyList<'T>) =
           match getCell list with
           | CellCons (hd, _) -> hd
  
positive.code: 
      /// Return a new list consisting of the results of applying the
      /// given accumulating function to successive elements of the list.
      let rec scan (folder : 'State -> 'T -> 'State) (state : 'State) (list : LazyList<'T>) =
          lzy <| fun () ->
              match getCell list with
  
negative.code:             lengthAux (n + 1) tl
  
      /// Return the length of the list.
      [<CompiledName("Length")>]
      let length (list : LazyList<'T>) =
          lengthAux 0 list
  
      /// Return a view of the collection as an enumerable object.
      [<CompiledName("ToSeq")>]
      let toSeq (list : LazyList<'T>) =
          list :> IEnumerable<_>
  
  