Very Interesting: Protocol Inheritance

I had no idea that one could do this with protocols. I've been using NSObject<Protocol>* till now in order to avoid excessive casting, but this looks like the right way to do it.

http://www.mobileorchard.com/idprotocol-retainrelease-and-protocol-inheritance/