Translate.MakeTranslate is a functor taking a settings module as a parameter. When producing the Main executable, it will be instantiated by the module Settings, which parses the command line. This lets the interpreter use Translate without triggering the side effects in Settings.
module _ : sig ... endval unit : Typedtree.structure -> Syntax.mexprunit u translates the OCaml typed AST u, which represents a compilation unit, to an Osiris AST.