Miss documentation in Opaque Type section

I read in the blog

The Swift Programming Language](Documentation) book has been updated for Swift 5.8 and is now published with DocC.

But there is a blow mind miss in the section Opaque Type still, in «Differences Between Opaque Types and Protocol Types» to be precise.

«Another problem with this approach is that the shape transformations don’t nest. The result of flipping a triangle is a value of type Shape, and the protoFlip(:) function takes an argument of some type that conforms to the Shape protocol. However, a value of a protocol type doesn’t conform to that protocol; the value returned by protoFlip(:) doesn’t conform to Shape. This means code like protoFlip(protoFlip(smallTriange)) that applies multiple transformations is invalid because the flipped shape isn’t a valid argument to protoFlip(_:).»

https://docs.swift.org/swift-book/documentation/the-swift-programming-language/opaquetypes#Differences-Between-Opaque-Types-and-Protocol-Types

But since existential types has been unlocked, and protocol types with associated types available to be return types from function, this passage is wrong and such code is valid now. And do you think a pick up a swift generics topic is a quite hard for newcomer in 2023?