12345678910111213141516171819202122232425262728(** A signature for data structures that may be converted to and from
a [Stream.t].
If you create a new data structure, you should make it compatible
with [Streamable] if possible.
*)moduletypeS=sig(** Type of the datastructure. *)type'at(** Return a stream containing all elements of given data
structure. Exact semantics depend on implementation. For
example, elements in stream may or may not be ordered. *)valto_stream:'at->'aStream.t(** Return a data structure containing all elements in given stream,
fully consuming the stream. Exact semantics depend on
implementation. For example, duplicate elements in input may be
ignored if the data structure is a set. *)valof_stream:'aStream.t->'atendmoduletypeS2=sigtype('a,'b)tvalto_stream:('a,'b)t->('a*'b)Stream.tvalof_stream:('a*'b)Stream.t->('a,'b)tend