sig
  type t = Pp.t
  val empty : t
  val ( $ ) : t -> t -> t
  val text : string -> t
  val break : t
  val break_null : t
  val break_with : string -> t
  val nest : int -> t -> t
  val hgrp : t -> t
  val vgrp : t -> t
  val agrp : t -> t
  val fgrp : t -> t
  val to_string : ?width:int -> t -> string
  val to_file : ?width:int -> out_channel -> t -> unit
  val list : sep:t -> f:('-> t) -> 'a list -> t
  val commalist : f:('-> t) -> 'a list -> t
  val ( $/ ) : t -> t -> t
  val ( $// ) : t -> t -> t
  val block : ?indent:int -> f:('-> t) -> 'a list -> t
  module Infix :
    sig
      val ( $ ) : t -> t -> t
      val ( $/ ) : t -> t -> t
      val ( $// ) : t -> t -> t
    end
  val hlist : t list -> t
  val vlist : t list -> t
  val alist : t list -> t
end