Is there any documentation on this error somewhere?
I have no idea what it means.

> $ camlp4rf _build/Metl.cmo _build/MetlString.cmo rules.ml
> Camlp4: Uncaught exception: DynLoader.Error
>  ("./_build/MetlString.cmo", "interface mismatch on Metl")

The first module (Metl) contains a functor, and
the second one (MetlString) supplies an argument module
and calls the functor.  Both of them extend the PreCast
parser.