sig
  val sfprintf :
    ('a, Format.formatter, unit, string) Pervasives.format4 -> 'a
  val to_string : (Format.formatter -> '-> unit) -> '-> string
  val pp_print_string_fill : Format.formatter -> string -> unit
  val escape_underscores : string -> string
  type sformat = (unit, Format.formatter, unit) Pervasives.format
  type 'a formatter = Format.formatter -> '-> unit
  type ('a, 'b) formatter2 = Format.formatter -> '-> '-> unit
  val pp_list :
    ?pre:Pretty_utils.sformat ->
    ?sep:Pretty_utils.sformat ->
    ?last:Pretty_utils.sformat ->
    ?suf:Pretty_utils.sformat ->
    'Pretty_utils.formatter -> 'a list Pretty_utils.formatter
  val pp_array :
    ?pre:Pretty_utils.sformat ->
    ?sep:Pretty_utils.sformat ->
    ?suf:Pretty_utils.sformat ->
    (int, 'a) Pretty_utils.formatter2 -> 'a array Pretty_utils.formatter
  val pp_iter :
    ?pre:Pretty_utils.sformat ->
    ?sep:Pretty_utils.sformat ->
    ?suf:Pretty_utils.sformat ->
    (('-> unit) -> '-> unit) ->
    'Pretty_utils.formatter -> 'Pretty_utils.formatter
  val pp_opt :
    ?pre:Pretty_utils.sformat ->
    ?suf:Pretty_utils.sformat ->
    'Pretty_utils.formatter -> 'a option Pretty_utils.formatter
  val pp_cond :
    ?pr_false:Pretty_utils.sformat ->
    bool -> Pretty_utils.sformat Pretty_utils.formatter
  val pp_flowlist :
    ?left:Pretty_utils.sformat ->
    ?sep:Pretty_utils.sformat ->
    ?right:Pretty_utils.sformat ->
    'Pretty_utils.formatter -> 'a list Pretty_utils.formatter
  val pp_blocklist :
    ?left:Pretty_utils.sformat ->
    ?right:Pretty_utils.sformat ->
    'Pretty_utils.formatter -> 'a list Pretty_utils.formatter
  val pp_open_block :
    Format.formatter -> ('a, Format.formatter, unit) Pervasives.format -> 'a
  val pp_close_block :
    Format.formatter -> ('a, Format.formatter, unit) Pervasives.format -> 'a
  val pp_trail : 'Pretty_utils.formatter -> 'Pretty_utils.formatter
end