sig
  type 'a or_error = [ `Error of string | `Ok of 'a ]
  type t = Bencode.t
  val output : CConvBencode.t CConv.Encode.output
  val source : CConvBencode.t CConv.Decode.source
  val encode : 'src CConv.Encode.encoder -> 'src -> CConvBencode.t
  val decode_exn : 'into CConv.Decode.decoder -> CConvBencode.t -> 'into
  val decode :
    'into CConv.Decode.decoder ->
    CConvBencode.t -> 'into CConvBencode.or_error
  val to_string : 'CConv.Encode.encoder -> '-> string
  val of_string :
    'CConv.Decode.decoder -> string -> 'CConvBencode.or_error
  val of_string_exn : 'CConv.Decode.decoder -> string -> 'a
  val bencode_to_string : CConvBencode.t -> string
end