sig
  type 'a printers = { marked : 'a Why3.Pp.pp; closed : 'a Why3.Pp.pp; }
  val pp_pattern : attr:bool -> Why3.Ptree.pattern Mlw_printer.printers
  val pp_expr : attr:bool -> Why3.Ptree.expr Mlw_printer.printers
  val pp_term : attr:bool -> Why3.Ptree.term Mlw_printer.printers
  val pp_pty : attr:bool -> Why3.Ptree.pty Mlw_printer.printers
  val pp_decl : ?attr:bool -> Why3.Ptree.decl Why3.Pp.pp
  val pp_mlw_file : ?attr:bool -> Why3.Ptree.mlw_file Why3.Pp.pp
  val next_pos : unit -> Why3.Loc.position
  val with_marker :
    ?msg:string -> Why3.Loc.position -> 'a Why3.Pp.pp -> 'a Why3.Pp.pp
  val id_loc : unit -> Why3.Loc.position
  val is_id_loc : Why3.Loc.position -> bool
end