Visit following links for more information:
- Jon Hofman – Swift 4 Protocol-Oriented Programming: https://www.packtpub.com/web-development/swift-protocol-oriented-programming-third-edition
- Swift documentation – Generics: https://docs.swift.org/swift-book/LanguageGuide/Generics.html