12345678910111213141516171819202122232425(** Very small tooling for format printers. *)includeFormat(* Only in the stdlib since 4.02, so we copy. *)letreclistppppf=function|[]->()|[v]->ppppfv|v::vs->ppppfv;pp_print_spaceppf();listppppfvsletstr=pp_print_stringletsexpfmtsppx=fprintffmt"@[<3>(%s@ %a)@]"sppxletpairpp1pp2fmt(v1,v2)=pp1fmtv1;pp_print_spacefmt();pp2fmtv2lettriplepp1pp2pp3fmt(v1,v2,v3)=pp1fmtv1;pp_print_spacefmt();pp2fmtv2;pp_print_spacefmt();pp3fmtv3letint=pp_print_intletoptintfmt=function|None->()|Somei->fprintffmt"@ %d"i