In this section, we have covered the following:
- How to define your own protocols
- How to make a type conform to one or many protocol
- How to define protocols in terms of other protocols
- How to leverage protocols with generic types
- What are PATs and their features and limitations
In the next section, we'll go through a comprehensive guide about type erasure. Type erasure is a well known and used design pattern in Swift that helps to work with protocols and generics until generalized existentials are part of the language.