I think this has a slightly different meaning. This line says: "extend every concrete T that conforms to OtherProtocol to also conform to SomeProtocol".
extension OtherProtocol : SomeProtocol {}
Instead would work (in my head at least) also for existentials of OtherProtocol without a concrete type.
My assumption is based on the fact that existentials of a protocol do not conform to it.
extension Int: OtherProtocol {}
class A {
var a: OtherProtocol // With the generic extension way is NOT also SomeProtocol, but with the protocol conformance extension is
var b: Int // Is also SomeProtocol in both ways
}