Protocols: Protocols as Types
Protocols: Delegates