Differences Between Elixir’s Protocols and Behaviours

I kept mixing up Elixir Protocols and Behaviours—until I finally figured out the real difference. One is for data types, the other for modules. Here’s the explanation I wish I’d had years ago.