The following code fails to compile in a swift playground:
Changing to simple conformance makes it work:
The two should be equivalent.
Also, putting the constraint of Self: Equatable on the protocol extension (and removing it from the protocol declaration) also makes it work.
Having the Self requirement on both the protocol definition and extension correctly identifies that the constraint is redundant but also fails to compile.