sig
  type 'a decoding =
      [ `Continue | `Done of 'a | `Error of MrMime.Parser.err ]
  type ('input, 'a) decoder
  val decoder_src :
    ('input, 'a) MrMime.Convenience.decoder -> 'input MrMime.Input.t
  val decoder :
    'input MrMime.Input.t ->
    'a MrMime.Parser.t -> ('input, 'a) MrMime.Convenience.decoder
  val decode :
    ('input, 'a) MrMime.Convenience.decoder -> 'a MrMime.Convenience.decoding
  val src :
    ('input, 'a) MrMime.Convenience.decoder -> string -> int -> int -> unit
  val decoding :
    ('input, 'a) MrMime.Convenience.decoder ->
    'b MrMime.Parser.t -> ('input, 'b) MrMime.Convenience.decoder
end