Although the mystical land of functional programming preaches separation of data and behavior, keeping everything explicit, there are cases when coupling those (or dispatching based on type) are useful. This talks is about when, how and why to couple data and behavior, showcasing real code where Elixir Protocols are used to simplify and abstract common logic of different data types.
Showcase benefits and methods for coupling data and behavior (with Elixir in mind):
Guilherme is a software engineer with 10 years' worth of experience, focused on web applications, from ops to backend. Currently working at Telnyx, a Chicago based telecom company aiming at democratising universal communications. He has been in love with Elixir since he started working with the language in 2015, being an active member of Elixir Meetups in São Paulo, Brazil and spreading Elixir love all around :) Guilherme also loves science fiction books, movies and tv series.