let pair pp1 pp2 fmt (a,b) =
  Format.fprintf fmt "(";
  pp1 fmt a;
  string fmt ",";
  pp2 fmt b;
  Format.fprintf fmt ")@?"