The idea is that there can be incompatible modules: The Theorems and
Theorems (AMS) modules are an example. And there may be modules that
require other ones. So this will provide a facility for tracking that.
I understand. But I don't understand the relation to the optional argument.
I'd say, we need some more tags, such as NeedsModule and ObsoletesModule.
Anyway, this is for later.
I'll do this shortly, as I want to get the AMS classes modularized so we
have plenty of time to test them. And that will also give the module
backend a good workout, too. In any event, the reason it has to be in
the \DeclareLyXModule line is that I want to have this information
available in lyxmodules.lst, which is constructed by configure.py, so
that it will then be available in the global moduleList variable, which
is for Module what textclasslist is for TextClass. That way, GuiDocument
can have access to the information that, say, Theorem (AMS) excludes
Theorem and not allow you to add the former if you've already added the
latter. Etc.
rh