Como usar o protocolo em Elixir para polimorfismo sem herança
Em linguagens orientadas a objetos tradicionais, o polimorfismo é frequentemente alcançado por meio de herança de classes. Uma classe pai define um comportamento genérico, e classes filhas o sobrescrevem. Em Elixir, linguagem funcional que roda na Erlang VM, não existe herança clássica. Não há classes, nem hierarquias de tipo rígidas. Isso levanta uma questão: como compartilhar comportamentos entre tipos diferentes sem herança?