123456789101112131415161718192021222324252627282930modulePp=Root.PpincludePp(** This version of [Pp.compare] uses [Ordering.t] rather than returning an [int]. *)letcompare~comparexy=Ordering.of_int(Pp.compare(funab->Ordering.to_int(compareab))xy);;letto_dyntag_to_dynt=letrecto_dynt=letopenDyninmatch(t:_Pp.Ast.t)with|Nop->variant"Nop"[]|Seq(x,y)->variant"Seq"[to_dynx;to_dyny]|Concat(x,y)->variant"Concat"[to_dynx;listto_dyny]|Box(i,t)->variant"Box"[inti;to_dynt]|Vbox(i,t)->variant"Vbox"[inti;to_dynt]|Hboxt->variant"Hbox"[to_dynt]|Hvbox(i,t)->variant"Hvbox"[inti;to_dynt]|Hovbox(i,t)->variant"Hovbox"[inti;to_dynt]|Verbatims->variant"Verbatim"[strings]|Charc->variant"Char"[charc]|Break(x,y)->variant"Break"[triplestringintstringx;triplestringintstringy]|Newline->variant"Newline"[]|Texts->variant"Text"[strings]|Tag(s,t)->variant"Tag"[tag_to_dyns;to_dynt]into_dyn(Pp.to_astt);;