let pp_args pp_tau fmt = function 
  | [] -> () 
  | [x] -> Format.fprintf fmt "(%a@,:@,%a)@,:%a@,=@" 
      pp_var x pp_tau (Var.var_type x) pp_tau (Var.var_type x)
  | x::m -> 
      Format.fprintf fmt "(%a@,:@,%a@," 
       pp_var x pp_tau (Var.var_type x);
      List.iter (fun x -> Format.fprintf fmt ",@,%a@,:@,%a@,"
                   pp_var x pp_tau (Var.var_type x) ) m;
      Format.fprintf fmt ")@,:%a@,=@\n" pp_tau (Var.var_type x)