anchor.diff:  
       /// Return the list which contains on demand the elements of the
       /// first list followed by the elements of the second list.
  +    [<CompiledName("Append")>]
       let rec append (list1 : LazyList<'T>) (list2 : LazyList<'T>) =
           lzy <| fun () ->
               appendc list1 list2
  
positive.code: 
      /// Return the list which on consumption will consist of
      /// at most 'count' elements of the input list.
      let rec take count (list : LazyList<'T>) =
          lzy <| fun () ->
              if count < 0 then
  
negative.code: 
      let rec private skipc n (list : LazyList<'T>) =
          if n = 0 then
              getCell list
          else
              match getCell list with
              | CellCons (_, tl) ->
  