Thanks @peerreynders I think I get it now with:
Optional parameters are not a feature of the underlying language - Erlang. It’s something that Elixir layers on top in a way that “works most of the time as expected”. But there can be surprising edge cases.
This creates ONE function (
same/2):def same({a, b}, c), do: ... def same(a, b), do: ...
I expected Elixir could handle it. I guess I found one of that surprising edge cases.
I don’t know if to enhance optional parameters is in the roadmap (in the end, it’s not important as it can be handle long-hand) but it’s nice, hopeful it’ll have less edge cases over time.
Thank you so much for the explanation!


















