Conditional Conformance with Protocol Inheritance

Yes, the extra ones are uninformative here and the compiler could allow you not to declare them explicitly. But that wouldn't work in all cases.

Near as I can tell, the heart of the issue is that you may not have more than one extension that conforms a type to a particular protocol. Otherwise it's ambiguous which versions of the protocol methods should be called when you invoke protocol methods on that type.

The "no implicit conformances" rule prevents you from inheriting multiple implementations of an "upstream" protocol by requiring all intermediate conformances to be explicitly declared. If they are found to duplicate existing conformances, the compiler can flag them at the point of declaration.

That other current thread goes into much more detail.