method pp_tau fmt = function
| Integer -> self#pp_tau_int fmt
| Real -> self#pp_tau_real fmt
| Boolean -> self#pp_tau_bool fmt
| Pointer -> self#pp_tau_pointer fmt
| Set te -> self#pp_tau_set fmt te
| Array(ta,tb) -> self#pp_tau_array fmt ta tb
| Record r -> self#pp_tau_record fmt r
| ADT(a,ts) -> self#pp_tau_adt fmt a ts
| ALPHA n -> self#pp_tau_alpha fmt n