1234567891011121314151617181920212223242526272829303132333435363738394041424344(** Standard definition and types for all renderers *)typesyntax=OCaml|Reasonletstring_of_syntax=functionOCaml->"ml"|Reason->"re"typepage={filename:Fpath.t;content:Format.formatter->unit;children:pagelist;}lettraverse~ft=letrecauxnode=fnode.filenamenode.content;List.iterauxnode.childreninList.iterauxttypeinput=|CUofOdoc_model.Lang.Compilation_unit.t|PageofOdoc_model.Lang.Page.ttype'at={name:string;render:'a->Types.Document.t->pagelist;extra_documents:'a->input->syntax:syntax->Types.Document.tlist;}letdocument_of_page~syntaxv=matchsyntaxwithReason->Reason.pagev|OCaml->ML.pagevletdocuments_of_source_tree~syntaxv=matchsyntaxwithReason->Reason.source_treev|OCaml->ML.source_treevletdocument_of_compilation_unit~syntaxv=matchsyntaxwith|Reason->Reason.compilation_unitv|OCaml->ML.compilation_unitvletdocument_of_source~syntax=matchsyntaxwith|Reason->Reason.source_page(* Currently, both functions are equivalent *)|OCaml->ML.source_page