sig
  type 'a enc = Stdlib.Format.formatter -> '-> unit
  type 'a dec = string -> start:int -> int * 'a
  val enc_err :
    kind:string ->
    ('a, Stdlib.Format.formatter, unit, 'b) Stdlib.format4 -> 'a
  val enc_atom : string B0_std.Conv.Txt.enc
  val enc_list : 'B0_std.Conv.Txt.enc -> 'a list B0_std.Conv.Txt.enc
  type lexeme = [ `Atom of string | `Le | `Ls ]
  val dec_err :
    kind:string ->
    int -> ('a, Stdlib.Format.formatter, unit, 'b) Stdlib.format4 -> 'a
  val dec_err_eoi : kind:string -> int -> 'a
  val dec_err_lexeme :
    kind:string ->
    int -> B0_std.Conv.Txt.lexeme -> exp:B0_std.Conv.Txt.lexeme list -> 'a
  val dec_err_atom : kind:string -> int -> string -> exp:string list -> 'a
  val dec_skip : kind:string -> string -> start:int -> int
  val dec_lexeme :
    kind:string -> (int * B0_std.Conv.Txt.lexeme) B0_std.Conv.Txt.dec
  val dec_ls : kind:string -> string -> start:int -> int
  val dec_le : kind:string -> string -> start:int -> int
  val dec_atom : kind:string -> string B0_std.Conv.Txt.dec
  val dec_list :
    'B0_std.Conv.Txt.dec -> kind:string -> 'a list B0_std.Conv.Txt.dec
  val dec_list_tail :
    'B0_std.Conv.Txt.dec ->
    kind:string -> ls:int -> 'a list B0_std.Conv.Txt.dec
end