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)