I assumed that, with Elixir macro support, someone could implement protocols with full pattern matching. Just way above my current pay grade!