sig   val iter : f:('a -> unit) -> 'a BatStream.t -> unit   val to_string_fmt :     fmt:('a -> string, unit, string) Pervasives.format ->     'a BatStream.t -> string   val to_string_fun : fn:('a -> string) -> 'a BatStream.t -> string   val foldl :     f:('a -> 'b -> 'a * bool option) -> init:'a -> 'b BatStream.t -> 'a   val foldr : f:('a -> 'b lazy_t -> 'b) -> init:'b -> 'a BatStream.t -> 'b   val fold : f:('a -> 'a -> 'a * bool option) -> init:'a BatStream.t -> 'a   val filter : f:('a -> bool) -> 'a BatStream.t -> 'a BatStream.t   val map : f:('a -> 'b) -> 'a BatStream.t -> 'b BatStream.t   val map2 :     f:('a -> 'b -> 'c) -> 'a BatStream.t -> 'b BatStream.t -> 'c BatStream.t   val scanl : f:('a -> 'b -> 'a) -> 'a -> 'b BatStream.t -> 'a BatStream.t   val scan : f:('a -> 'a -> 'a) -> 'a BatStream.t -> 'a BatStream.t   val take_while : f:('a -> bool) -> 'a BatStream.t -> 'a BatStream.t   val drop_while : f:('a -> bool) -> 'a BatStream.t -> 'a BatStream.t   val merge :     f:(bool -> 'a -> bool) ->     'a BatStream.t * 'a BatStream.t -> 'a BatStream.t   val switch :     f:('a -> bool) -> 'a BatStream.t -> 'a BatStream.t * 'a BatStream.t end