OptionSets seem to be an ideal, compact mechanism for managing a collection of feature flags. However, the available technique for checking for a feature (set.contains(.flag)) is really only useful for testing one flag at a time.
In real life, it is often useful to test for a more complex combination of feature flags. (For example, "take some action is feature ".a" or ".b" is present.) This is currently cumbersome.
I would like to propose extending the OptionSet object to include more complex types of tests (specifically geared to testing multiple options at once). The most obvious additions are
anyOf([.a, .b, ...])
allOf([.a, .b, .c, ...])
noneOf([.a, .b, ...])
although one could obviously choose other method signatures.