(** Extra operations on channels. *) val to_stringstream : ?limit:int -> in_channel -> string Stream.t (** Return the contents of an in_channel as a stream of strings. *) val to_linestream : in_channel -> string Stream.t (** Return the contents of an in_channel as a stream of lines, meaning strings which ended with a newline or EOF in the original file. The newlines are not included in the output. *) val to_string : in_channel -> string (** Return the contents of the in_channel as a single string. This will, of course, be a problem if the input stream is infinite or very long. *)