sig
  val print_maybe_qualified_datacon :
    Datacon.name SurfaceSyntax.maybe_qualified -> MzPprint.document
  val pmaybe_qualified_datacon :
    Buffer.t -> Datacon.name SurfaceSyntax.maybe_qualified -> unit
  val print_datacon_reference :
    SurfaceSyntax.datacon_reference -> MzPprint.document
  val print_patexpr :
    TypeCore.env ->
    ExpressionsCore.pattern * ExpressionsCore.expression -> MzPprint.document
  val print_patexprs :
    TypeCore.env ->
    (ExpressionsCore.pattern * ExpressionsCore.expression) list ->
    MzPprint.document
  val print_pat :
    TypeCore.env -> ExpressionsCore.pattern -> MzPprint.document
  val print_tapp : TypeCore.env -> ExpressionsCore.tapp -> MzPprint.document
  val print_expr :
    TypeCore.env -> ExpressionsCore.expression -> MzPprint.document
  val print_rec_flag : ExpressionsCore.rec_flag -> MzPprint.document
  val print_ebinder :
    TypeCore.env ->
    TypeCore.type_binding * TypeCore.flavor -> MzPprint.document
  val print_binder :
    TypeCore.env ->
    (Variable.name * Kind.kind * TypeCore.location) * TypeCore.flavor ->
    MzPprint.document
  val print_definitions :
    TypeCore.env -> ExpressionsCore.definitions -> MzPprint.document
  val print_sig_item :
    TypeCore.env -> Variable.name * TypeCore.typ -> MzPprint.document
  val psigitem :
    Buffer.t -> TypeCore.env * (Variable.name * TypeCore.typ) -> unit
  val pdefinitions :
    Buffer.t -> TypeCore.env * ExpressionsCore.definitions -> unit
  val pexpr : Buffer.t -> TypeCore.env * ExpressionsCore.expression -> unit
  val ppat : Buffer.t -> TypeCore.env * ExpressionsCore.pattern -> unit
end