let triple pp1 pp2 pp3 fmt (a, b, c) = match !flag with | Sexpr -> sexpr3 pp1 pp2 pp3 fmt (":triple", a, b, c) | _ -> fprintf fmt "("; pp1 fmt a; string fmt ","; pp2 fmt b; string fmt ","; pp3 fmt c; fprintf fmt ")@?"