sig
type 'a t = 'a Thread_safe_pipe.t
val create : unit -> 'a Import.Pipe.Reader.t * 'a t
val pushback : 'a t -> unit
val write_without_pushback' :
?wakeup_scheduler:bool -> 'a t -> 'a Core.Std.Queue.t -> unit
val write_without_pushback : ?wakeup_scheduler:bool -> 'a t -> 'a -> unit
val write' : 'a t -> 'a Core.Std.Queue.t -> unit
val write : 'a t -> 'a -> unit
val close : 'a t -> unit
val is_closed : 'a t -> bool
val closed : 'a t -> unit
val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t
end