sig
  type 'a or_error = [ `Error of string | `Ok of 'a ]
  type t = Sexplib.Sexp.t = Atom of string | List of CConvSexp.t list
  val output : CConvSexp.t CConv.Encode.output
  val source : CConvSexp.t CConv.Decode.source
  val encode : 'src CConv.Encode.encoder -> 'src -> CConvSexp.t
  val decode_exn : 'into CConv.Decode.decoder -> CConvSexp.t -> 'into
  val decode :
    'into CConv.Decode.decoder -> CConvSexp.t -> 'into CConvSexp.or_error
  val to_string : 'CConv.Encode.encoder -> '-> string
  val of_string : 'CConv.Decode.decoder -> string -> 'CConvSexp.or_error
  val of_string_exn : 'CConv.Decode.decoder -> string -> 'a
  val sexp_to_string : CConvSexp.t -> string
end