sig
  val pp_cudf : Stdlib.out_channel -> Cudf.cudf -> unit
  val pp_doc : Stdlib.out_channel -> Cudf.cudf_doc -> unit
  val pp_solution : Stdlib.out_channel -> Cudf.solution -> unit
  val pp_item : Stdlib.out_channel -> Cudf.cudf_item -> unit
  val pp_package : Stdlib.out_channel -> Cudf.package -> unit
  val pp_preamble : Stdlib.out_channel -> Cudf.preamble -> unit
  val pp_request : Stdlib.out_channel -> Cudf.request -> unit
  val pp_packages : Stdlib.out_channel -> Cudf.package list -> unit
  val pp_universe : Stdlib.out_channel -> Cudf.universe -> unit
  val pp_io_cudf : 'IO.output -> Cudf.cudf -> unit
  val pp_io_doc : 'IO.output -> Cudf.cudf_doc -> unit
  val pp_io_solution : 'IO.output -> Cudf.solution -> unit
  val pp_io_item : 'IO.output -> Cudf.cudf_item -> unit
  val pp_io_package : 'IO.output -> Cudf.package -> unit
  val pp_io_preamble : 'IO.output -> Cudf.preamble -> unit
  val pp_io_request : 'IO.output -> Cudf.request -> unit
  val pp_io_packages : 'IO.output -> Cudf.package list -> unit
  val pp_io_universe : 'IO.output -> Cudf.universe -> unit
  val pp_package_gen :
    pp_property:('out -> string * string -> unit) ->
    'out -> Cudf.package -> unit
  val pp_request_gen :
    pp_property:('out -> string * string -> unit) ->
    'out -> Cudf.request -> unit
  val pp_preamble_gen :
    pp_property:('out -> string * string -> unit) ->
    'out -> Cudf.preamble -> unit
  val pp_universe_gen :
    pp_package:('out -> Cudf.package -> unit) ->
    pp_sep:('out -> unit) -> 'out -> Cudf.universe -> unit
  val pp_packages_gen :
    pp_package:('out -> Cudf.package -> unit) ->
    pp_sep:('out -> unit) -> 'out -> Cudf.package list -> unit
  val pp_cudf_gen :
    pp_preamble:('out -> Cudf.preamble -> unit) ->
    pp_universe:('out -> Cudf.universe -> unit) ->
    pp_request:('out -> Cudf.request -> unit) ->
    pp_sep:('out -> unit) -> 'out -> Cudf.cudf -> unit
  val pp_doc_gen :
    pp_preamble:('out -> Cudf.preamble -> unit) ->
    pp_packages:('out -> Cudf.package list -> unit) ->
    pp_request:('out -> Cudf.request -> unit) ->
    pp_sep:('out -> unit) -> 'out -> Cudf.cudf_doc -> unit
  val pp_solution_gen :
    pp_preamble:('out -> Cudf.preamble -> unit) ->
    pp_universe:('out -> Cudf.universe -> unit) ->
    pp_sep:('out -> unit) -> 'out -> Cudf.solution -> unit
  val pp_item_gen :
    pp_package:('out -> Cudf.package -> unit) ->
    pp_request:('out -> Cudf.request -> unit) ->
    pp_preamble:('out -> Cudf.preamble -> unit) ->
    'out -> Cudf.cudf_item -> unit
end