> The way packages guard against this problem is simply by making sure
> that \usepackage or \RequirePackage will execute the external code
> only once.
Yep.
> [...] the mechanism for this is fairly simple: the loader looks in
>
> \csname ver@<filename>\endcsname
>
> and if that is \relax the it loads the file.
Thanks for confirmation.
> Maybe we should have a declaration
>
> \ThisCodeReplacesPackage{foo}{date}
>
> for the above but we don't (yet)
memoir.cls uses `\EmulatedPackage', as Will pointed out – maybe it
makes sense to stick with this name?
> I don't really see the need to clone fontspec and fontspec-xetex
> especially given that fontspec does so little and you aren't really
> changing it.
Well, it's the solution with the least code change...
Werner