Type checking inconsistency with generic metatypes

This is perfect example why named existential types and any are needed as discussed in Improving the UI of generics - #104 by Moximillian

Meaning semantically more exact thing would be to say:

print(enumInstance is (any Protocol)) // true, as expected

Instance is equal to an existential that conforms to the protocol, it’s not equal to the protocol (type) itself.

Unfortunately current swift syntax obfuscates this :(