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