anchor.diff:  /// Provides basic operations on Streams.
   [<RequireQualifiedAccessAttribute>]
   module Stream =
  +
  +    /// <summary>The empty stream.</summary>
  +    /// <returns>An empty stream.</returns>
  +    let empty : Stream<'T> =
  +        let iter iterf =
  +            let next () = false
  +            (ignore, next)
  +        Stream iter
  +
  +    /// <summary>Creates a singleton stream.</summary>
  +    /// <param name="source">The singleton stream element</param>
  +    /// <returns>A stream of just the given element</returns>
  +    let inline singleton (source: 'T) : Stream<'T> =
  +        let iter iterf =
  +            let bulk () = iterf source |> ignore
  +            let next =
  +                let pulled = ref false
  +                fun () ->
  +                    if !pulled then false
  +                    else
  +                        iterf source |> ignore
  +                        pulled := true
  +                        true
  +            (bulk, next)
  +        Stream iter
              
       /// <summary>Wraps array as a stream.</summary>
       /// <param name="source">The input array.</param>
  
positive.code:             streamf (fun value -> 
                  incr counter
                  if !counter > n then iterf value else true)
          Stream iter
  
  
  
negative.code:     /// <param name="stream">The input stream.</param>
      /// <returns>true if all of the elements satisfies the predicate. Otherwise, returns false.</returns>
      let inline forall (predicate : 'T -> bool) (stream : Stream<'T>) : bool = 
          not <| exists (fun value -> not <| predicate value) stream
  