What abstract types are, how they could be implemented in Swift, and how they relate to protocols and other polymorphic programming techniques.| Swift by Sundell
Let’s take a look at various ways to combine multiple protocols into new functionality, either by using protocol extensions, composition, or by defining dedicated types.| Swift by Sundell
How Swift’s generics system enables us to create specialized extensions that only apply to types that fit certain requirements, and how that capability can be really useful.| Swift by Sundell