Test if a type conforms to a non-existential protocol

Yeah, or maybe some other way of opting into keeping cheap "dynamic cast" information inside a protocol hierarchy. This sort of reminds me of the problem @dabrahams discussed in this thread, where in order to be able to specialize a protocol requirement in a conditional conformance without resorting to global dynamic searches for the conformances, we might need some way to explicitly mark optional conformance requirements.