> For the moment I've gone with my simpler separation of 'keys which have
> been set' and 'keys which have not'. I've yet to write the docs, which
> may reveal issues, but my thinking currently is that key filtering is a
> way to assign only some keys in particular contexts, but that elsewhere
> either the 'balance' will be set or all keys will be set

Fair enough. I'm more than happy with the last version! :)

How would you feel about also adding Fitler/Groups versions of
\ProcessKeysOptions and \ProcessKeysPackageOptions to l3keys2e?

There's a typo in row 291 of l3keys.dtx (should be '\enquote' in place
of '\enquoe’).

Beyond that, I just want to thank you for all your patience and effort put in!