module type S = sig
(*
type !'a t = 'a Stream.t
*)


type 'a t = 'a Stream.t

(** Alias for {!Stream.t} *)

exception Failure 
(** Alias for {!Stream.Failure} *)

exception Error of string 
(** Alias for {!Stream.Error} *)

(*
val of_bytes : bytes -> char t
*)

val of_bytes : Stdcompat__init.bytes -> char t

(** @since 4.02.0: val of_bytes : bytes -> char t
 *)

val from : (int -> 'a option) -> 'a t
(** Alias for {!Stream.from} *)

val of_list : 'a list -> 'a t
(** Alias for {!Stream.of_list} *)

val of_string : string -> char t
(** Alias for {!Stream.of_string} *)

val of_channel : in_channel -> char t
(** Alias for {!Stream.of_channel} *)

val iter : ('a -> unit) -> 'a t -> unit
(** Alias for {!Stream.iter} *)

val next : 'a t -> 'a
(** Alias for {!Stream.next} *)

val empty : 'a t -> unit
(** Alias for {!Stream.empty} *)

val peek : 'a t -> 'a option
(** Alias for {!Stream.peek} *)

val junk : 'a t -> unit
(** Alias for {!Stream.junk} *)

val count : 'a t -> int
(** Alias for {!Stream.count} *)

val npeek : int -> 'a t -> 'a list
(** Alias for {!Stream.npeek} *)

val iapp : 'a t -> 'a t -> 'a t
(** Alias for {!Stream.iapp} *)

val icons : 'a -> 'a t -> 'a t
(** Alias for {!Stream.icons} *)

val ising : 'a -> 'a t
(** Alias for {!Stream.ising} *)

val lapp : (unit -> 'a t) -> 'a t -> 'a t
(** Alias for {!Stream.lapp} *)

val lcons : (unit -> 'a) -> 'a t -> 'a t
(** Alias for {!Stream.lcons} *)

val lsing : (unit -> 'a) -> 'a t
(** Alias for {!Stream.lsing} *)

val sempty : 'a t
(** Alias for {!Stream.sempty} *)

val slazy : (unit -> 'a t) -> 'a t
(** Alias for {!Stream.slazy} *)

val dump : ('a -> unit) -> 'a t -> unit
(** Alias for {!Stream.dump} *)

end
