My initial use case didn’t require it, but upon rereading the code, it should be possible to support :opt keys by improving the implementation’s internal spec of s/keys forms. Once extracted, the :req vector could simply be concatenated with the :opt vector, and the result de-duplicated to form the full set of qualified keys.
Reminder to update the limitations section of the readme if this does indeed work.