sig
  type 'a t
  type 'a next = Nil | Cons of 'a * 'Tail.Stream.t
  val next : 'Tail.Stream.t -> 'Tail.Stream.next Deferred.t
  val sexp_of_t :
    ('-> Sexplib.Sexp.t) -> 'Tail.Stream.t -> Sexplib.Sexp.t
end