I'll just chime in and say that this topic is *awfully* similar to
http://thread.gmane.org/gmane.comp.tex.latex.latex3/3363.

On Mon, Sep 29, 2014 at 5:37 AM, Denis Bitouzé <
[log in to unmask]> wrote:

> Hi,
>
> among others, `.value_forbidden:` and `.value_required:` key properties
> from `l3keys` package are useful: they let us specify that a given key,
> when used, either cannot or must receive a value.
>
> What could be useful as well is a key property, say `.required:`, that
> would
> specify that the corresponding key /has/ to be used. This could be helpful
> for
> instance in the case of a document command `\MyModuleSetup` for setting up
> a module `mymodule`:
>
>     \DeclareDocumentCommand \MyModuleSetup { m }
>       { \keys_set:nn { mymodule } { #1 } }
>
> where some module property /has/ to be specified.
>
> I know this can be achieved with something like test of existence of
> some tokenlist and message emitted in case of nonexistence but a high
> level key property for this could be nice.
>
> May I ask what is your opinion about that?
>
> Thanks in anticipation.
> --
> Denis
>



-- 
Sean Allred