Guards! Guards
Summary
The article dives into how Elixir guards work with short-circuiting, showing surprising non-commutative behavior in guard expressions and how it affects function clauses. It includes concrete examples and notes that Elixir may warn or not warn about this behavior as of Elixir 1.20.1 / OTP 29.