Thread.Pipe
module Writer : sig ... end
module Reader : sig ... end
val set_size_budget : 'a Writer.t -> int -> unit
val flush : 'a Writer.t -> unit Deferred.t
val write : 'a Writer.t -> 'a -> unit Deferred.t
val write_without_pushback : 'a Writer.t -> 'a -> unit
val transfer_in : from:'a Stdlib.Queue.t -> 'a Writer.t -> unit Deferred.t
val close : 'a Writer.t -> unit Deferred.t
val read : 'a Reader.t -> [ `Eof | `Ok of 'a ] Deferred.t
val iter : 'a Reader.t -> f:('a -> unit Deferred.t) -> unit Deferred.t
val iter_without_pushback : 'a Reader.t -> f:('a -> unit) -> unit Deferred.t
val close_without_pushback : 'a Writer.t -> unit