sig
  val channel :
    Lwt_io.input Lwt_io.channel -> (char, Markup.async) Markup.stream
  val file :
    string -> (char, Markup.async) Markup.stream * (unit -> unit Lwt.t)
  val to_channel :
    Lwt_io.output Lwt_io.channel -> (char, 'a) Markup.stream -> unit Lwt.t
  val to_file : string -> (char, 'a) Markup.stream -> unit Lwt.t
end