sig
  type phantom
  type 'a t = ('a, Pipe.Reader.phantom) Pipe.pipe
  val invariant : 'Pipe.Reader.t -> unit
  val sexp_of_t :
    ('-> Sexplib.Sexp.t) -> 'Pipe.Reader.t -> Sexplib.Sexp.t
end