1234567891011121314151617181920212223242526(* CR-someday diml: we should define a GADT for this:
{[
type 'a t =
| Int : int t
| Box : ...
| Colored : ...
]}
This way we could separate the creation of messages from the
actual rendering.
*)type'at=Format.formatter->'a->unitletlist=Format.pp_print_listlettext=Format.pp_print_textletnl=Format.pp_print_newlineletocaml_listppfmt=function|[]->Format.pp_print_stringfmt"[]"|l->Format.fprintffmt"@[<hv>[ %a@ ]@]"(list~pp_sep:(funfmt()->Format.fprintffmt"@,; ")pp)l