sig   type lexeme =       [ `Ae       | `As       | `Bool of bool       | `Float of float       | `Name of string       | `Null       | `Oe       | `Os       | `String of string ]   val pp_lexeme : Format.formatter -> [< Jsonm.lexeme ] -> unit   type error =       [ `Expected of           [ `Aval of bool           | `Comment           | `Eoi           | `Json           | `Name           | `Name_sep           | `Omem of bool           | `Value ]       | `Illegal_BOM       | `Illegal_bytes of string       | `Illegal_escape of           [ `Lone_hi_surrogate of int           | `Lone_lo_surrogate of int           | `Not_esc_uchar of Uchar.t           | `Not_hex_uchar of Uchar.t           | `Not_lo_surrogate of int ]       | `Illegal_literal of string       | `Illegal_number of string       | `Illegal_string_uchar of Uchar.t       | `Unclosed of [ `As | `Comment | `Os | `String ] ]   val pp_error : Format.formatter -> [< Jsonm.error ] -> unit   type encoding = [ `UTF_16 | `UTF_16BE | `UTF_16LE | `UTF_8 ]   type src =       [ `Channel of Pervasives.in_channel | `Manual | `String of string ]   type decoder   val decoder :     ?encoding:[< Jsonm.encoding ] -> [< Jsonm.src ] -> Jsonm.decoder   val decode :     Jsonm.decoder ->     [> `Await | `End | `Error of Jsonm.error | `Lexeme of Jsonm.lexeme ]   val decoded_range : Jsonm.decoder -> (int * int) * (int * int)   val decoder_encoding : Jsonm.decoder -> Jsonm.encoding   val decoder_src : Jsonm.decoder -> Jsonm.src   type dst =       [ `Buffer of Buffer.t | `Channel of Pervasives.out_channel | `Manual ]   type encoder   val encoder : ?minify:bool -> [< Jsonm.dst ] -> Jsonm.encoder   val encode :     Jsonm.encoder ->     [< `Await | `End | `Lexeme of Jsonm.lexeme ] -> [ `Ok | `Partial ]   val encoder_dst : Jsonm.encoder -> Jsonm.dst   val encoder_minify : Jsonm.encoder -> bool   module Manual :     sig       val src : Jsonm.decoder -> Bytes.t -> int -> int -> unit       val dst : Jsonm.encoder -> Bytes.t -> int -> int -> unit       val dst_rem : Jsonm.encoder -> int     end   module Uncut :     sig       val decode :         Jsonm.decoder ->         [ `Await         | `Comment of [ `M | `S ] * string         | `End         | `Error of Jsonm.error         | `Lexeme of Jsonm.lexeme         | `White of string ]       val pp_decode :         Format.formatter ->         [< `Await          | `Comment of [ `M | `S ] * string          | `End          | `Error of Jsonm.error          | `Lexeme of Jsonm.lexeme          | `White of string ] ->         unit       val encode :         Jsonm.encoder ->         [< `Await          | `Comment of [ `M | `S ] * string          | `End          | `Lexeme of Jsonm.lexeme          | `White of string ] ->         [ `Ok | `Partial ]     end end