Learn about Elixir's data polymorphism feature: Protocols. Also, learn a bit about how Elixir handles extension.