Is this capability word one the patched INPUT declares, rather than one the desk's own DSP
carries?
A NARROWING, not a set membership test: the answer is typed as one of the capability's own
keys, so a caller reads capability[feature] without a cast. Asking a Set<ChannelFeature>
and reading the answer back as a HeadAmpFeature compiles happily the moment the capability
grows a non-boolean field — which is why the software adapter's own copy of this narrowing
was written this way, and why there is now one of it instead of two.
Is this capability word one the patched INPUT declares, rather than one the desk's own DSP carries?
A NARROWING, not a set membership test: the answer is typed as one of the capability's own keys, so a caller reads
capability[feature]without a cast. Asking aSet<ChannelFeature>and reading the answer back as aHeadAmpFeaturecompiles happily the moment the capability grows a non-boolean field — which is why the software adapter's own copy of this narrowing was written this way, and why there is now one of it instead of two.