sig
  type t = Markup.Encoding.t
  val decode :
    ?report:(Markup.location -> Markup.Error.t -> unit Markup.ASYNCHRONOUS.io) ->
    Markup.Encoding.t ->
    (char, 'a) Markup.stream -> (int, Markup.async) Markup.stream
end