Enum cases as protocol witnesses

Right, SE-0155 allows foo(x:) and foo(y:) to be distinct cases; the implementation work is not done.

However, allowing foo(_:) and foo(_:) to be overloaded with only differences in type is explicitly disallowed by SE-0155 and would not be supported without further proposals, unless there's an enum evolution proposal I've missed along the way somewhere.

The more interesting question to consider, in my view, is whether we may ever implement generic cases, and with that whether a generic case would be able to count as the implementation for both seconds static function requirements.