sig
  type error = Corrupted of (string * string) | Version of int * int
  val pp_error : Stdlib.Format.formatter -> Topkg_codec.error -> unit
  exception Error of Topkg_codec.error
  val err : kind:string -> string -> 'a
  type 'a t
  val v :
    kind:string ->
    enc:('-> string) -> dec:(string -> 'a) -> 'Topkg_codec.t
  val kind : 'Topkg_codec.t -> string
  val enc : 'Topkg_codec.t -> '-> string
  val dec : 'Topkg_codec.t -> string -> 'a
  val dec_result : 'Topkg_codec.t -> string -> 'Topkg_result.result
  val with_kind : string -> 'Topkg_codec.t -> 'Topkg_codec.t
  val write :
    Topkg_fpath.t -> 'Topkg_codec.t -> '-> unit Topkg_result.result
  val read : Topkg_fpath.t -> 'Topkg_codec.t -> 'Topkg_result.result
  val unit : unit Topkg_codec.t
  val const : '-> 'Topkg_codec.t
  val bool : bool Topkg_codec.t
  val int : int Topkg_codec.t
  val string : string Topkg_codec.t
  val option : 'Topkg_codec.t -> 'a option Topkg_codec.t
  val result :
    ok:'Topkg_codec.t ->
    error:'Topkg_codec.t -> ('a, 'b) Topkg_result.r Topkg_codec.t
  val list : 'Topkg_codec.t -> 'a list Topkg_codec.t
  val pair : 'Topkg_codec.t -> 'Topkg_codec.t -> ('a * 'b) Topkg_codec.t
  val t2 : 'Topkg_codec.t -> 'Topkg_codec.t -> ('a * 'b) Topkg_codec.t
  val t3 :
    'Topkg_codec.t ->
    'Topkg_codec.t -> 'Topkg_codec.t -> ('a * 'b * 'c) Topkg_codec.t
  val t4 :
    'Topkg_codec.t ->
    'Topkg_codec.t ->
    'Topkg_codec.t -> 'Topkg_codec.t -> ('a * 'b * 'c * 'd) Topkg_codec.t
  val t5 :
    'Topkg_codec.t ->
    'Topkg_codec.t ->
    'Topkg_codec.t ->
    'Topkg_codec.t ->
    'Topkg_codec.t -> ('a * 'b * 'c * 'd * 'e) Topkg_codec.t
  val alt :
    kind:string -> ('-> int) -> 'Topkg_codec.t array -> 'Topkg_codec.t
  val version : int -> 'Topkg_codec.t -> 'Topkg_codec.t
  val view :
    ?kind:string ->
    ('-> 'b) * ('-> 'a) -> 'Topkg_codec.t -> 'Topkg_codec.t
  val msg : [ `Msg of string ] Topkg_codec.t
  val result_error_msg :
    'Topkg_codec.t -> 'Topkg_result.result Topkg_codec.t
  val fpath : Topkg_fpath.t Topkg_codec.t
  val cmd : Topkg_cmd.t Topkg_codec.t
end