Enum cases as protocol witnesses

Unfortunately that will not work, since the type would be (()) -> Self. I think we could relax the rules as part of “Properties with function type” feature mentioned in the manifesto.