3.3 Polymorphism
3.4 Protocols