type !'a dec = string -> int -> int * 'a
val err_byte : kind:string -> int -> int -> 'a
val get_byte : string -> int -> int
val dec_eoi : string -> int -> unit
val to_string : ?buf:Buffer.t -> 'a t -> 'a -> string
val of_string : ?file:Fpath.t -> 'a t -> string -> ('a, string) result
val enc_magic : string -> unit enc
val dec_magic : string -> unit dec
val magic : string -> unit t
val dec_byte : kind:string -> int dec
val byte : kind:string -> int t
val enc_int64 : int64 enc
val dec_int64 : int64 dec
val enc_string : string enc
val dec_string : string dec
val enc_list : 'a enc -> 'a list enc
val dec_list : 'a dec -> 'a list dec
val list : 'a t -> 'a list t
val enc_option : 'a enc -> 'a option enc
val dec_option : 'a dec -> 'a option dec
val option : 'a t -> 'a option t
val result : ok:'a t -> error:'b t -> ('a, 'b) result t
val enc_set :
(module Set.S with type elt = 'a and type t = 'set) ->
'a enc ->
'set enc
val dec_set :
(module Set.S with type elt = 'a and type t = 'set) ->
'a dec ->
'set dec
val set : (module Set.S with type elt = 'a and type t = 'set) -> 'a t -> 'set t