sig   module Input :     sig       type nonrec 'a t =         'RingBuffer.Committed.t = {         mutable contents : 'RingBuffer.t;         mutable mark : int option;       }       type mark = Weak of int | Uniq of int       val pp_with_mark : Format.formatter -> int * int * 'a t -> unit       val pp : Format.formatter -> 'a t -> unit       val copy : 'a t -> int -> 'RingBuffer.t       val prepare : 'a t -> int -> 'RingBuffer.t       val equal : mark -> mark -> bool       val mark : 'a t -> mark       val unmark : mark -> 'a t -> unit       val forget : mark -> 'a t -> unit       val write : 'a t -> 'Internal_buffer.t -> int -> int -> unit       val write_string : 'a t -> string -> int -> int -> unit       val create_bytes : int -> Internal_buffer.st t       val create_bigstring : int -> Internal_buffer.bs t       val create_by : proof:'Internal_buffer.t -> int -> 'a t       val size : 'a t -> int       val peek : 'a t -> 'Internal_buffer.t -> int -> int -> unit       val read : 'a t -> 'Internal_buffer.t -> int -> int -> unit       val read_space : 'a t -> ('Internal_buffer.t * int * int) option       val write_space : 'a t -> ('Internal_buffer.t * int * int) option       val transmit :         'a t -> ('Internal_buffer.t -> int -> int -> int) -> int       val ravailable : 'a t -> int       val wavailable : 'a t -> int       val radvance : 'a t -> int -> unit       val wadvance : 'a t -> int -> unit       val get : 'a t -> char       val rollback : 'a t -> 'Internal_buffer.t -> unit       val proof : 'a t -> 'Internal_buffer.t       val savailable : 'a t -> int     end   type s = Parser.s = Complete | Incomplete   val pp : Format.formatter -> MrMime_parser.s -> unit   type err = Parser.err = ..   type ('a, 'input) state =     ('a, 'input) Parser.state =       Read of { buffer : 'input MrMime_parser.Input.t;         k : int -> MrMime_parser.s -> ('a, 'input) MrMime_parser.state;       }     | Done of 'a     | Fail of string list * MrMime_parser.err   type ('a, 'input) k = 'input MrMime_parser.Input.t -> MrMime_parser.s -> 'a   type ('a, 'input) fail =       (string list -> MrMime_parser.err -> ('a, 'input) MrMime_parser.state,        'input)       MrMime_parser.k   type ('a, 'r, 'input) success =       ('-> ('r, 'input) MrMime_parser.state, 'input) MrMime_parser.k   type 'a t =     'Parser.t = {     f :       ''input.         (('r, 'input) MrMime_parser.fail ->          ('a, 'r, 'input) MrMime_parser.success ->          ('r, 'input) MrMime_parser.state, 'input)         MrMime_parser.k;   }   val return : '-> 'MrMime_parser.t   val fail : MrMime_parser.err -> 'MrMime_parser.t   val ( >>= ) :     'MrMime_parser.t -> ('-> 'MrMime_parser.t) -> 'MrMime_parser.t   val ( >>| ) : 'MrMime_parser.t -> ('-> 'b) -> 'MrMime_parser.t   val ( <|> ) :     'MrMime_parser.t -> 'MrMime_parser.t -> 'MrMime_parser.t   val ( <$> ) : ('-> 'b) -> 'MrMime_parser.t -> 'MrMime_parser.t   val ( <* ) : 'MrMime_parser.t -> 'MrMime_parser.t -> 'MrMime_parser.t   val ( *> ) : 'MrMime_parser.t -> 'MrMime_parser.t -> 'MrMime_parser.t   val ( <*> ) :     ('-> 'b) MrMime_parser.t -> 'MrMime_parser.t -> 'MrMime_parser.t   val fix : ('MrMime_parser.t -> 'MrMime_parser.t) -> 'MrMime_parser.t   val lift : ('-> 'b) -> 'MrMime_parser.t -> 'MrMime_parser.t   val lift2 :     ('-> '-> 'c) ->     'MrMime_parser.t -> 'MrMime_parser.t -> 'MrMime_parser.t   val lift3 :     ('-> '-> '-> 'd) ->     'MrMime_parser.t ->     'MrMime_parser.t -> 'MrMime_parser.t -> 'MrMime_parser.t   val run :     'input MrMime_parser.Input.t ->     'MrMime_parser.t -> ('a, 'input) MrMime_parser.state   val only :     'input MrMime_parser.Input.t ->     'MrMime_parser.t -> ('a, 'input) MrMime_parser.state   type err += Satisfy   type err += String   type err += Repeat   val peek_chr : char option MrMime_parser.t   val peek_chr_exn : char MrMime_parser.t   val advance : int -> unit MrMime_parser.t   val satisfy : (char -> bool) -> char MrMime_parser.t   val string : (string -> string) -> string -> string MrMime_parser.t   val store : Buffer.t -> (char -> bool) -> int MrMime_parser.t   val recognize : (char -> bool) -> string MrMime_parser.t   val char : char -> char MrMime_parser.t   val many : 'MrMime_parser.t -> 'a list MrMime_parser.t   val one : 'MrMime_parser.t -> 'a list MrMime_parser.t   val option : '-> 'MrMime_parser.t -> 'MrMime_parser.t   val take : int -> string MrMime_parser.t   val list : 'MrMime_parser.t list -> 'a list MrMime_parser.t   val count : int -> 'MrMime_parser.t -> 'a list MrMime_parser.t   val repeat :     int option -> int option -> (char -> bool) -> string MrMime_parser.t end