method pp_pred_forall fmt xs p =
    Format.fprintf fmt "@[<hov 2>forall " ;
    self#bind xs
      (fun () ->
         pp_coma "," 
           (fun fmt x ->
              Format.fprintf fmt "%a:%a"
                self#pp_var x self#pp_vartype x) 
           fmt xs ;
         Format.fprintf fmt ".@]@ %a" self#pp_pred p)