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