Apple has declared Swift as the first Protocol Oriented language. If you've tried to write protocol oriented code, you may have discovered that the promise isn't quite the reality. In this talk, you'll learn to rethink your types to avoid protocol problems without giving up their power.
For more on type erasers, see “A Little Respect for AnySequence”.
The Crusty Talk: https://developer.apple.com/videos/play/wwdc2015-408/
Cocoaphony Blog: http://robnapier.net