A subtle gotcha in Elixir guards: when a guard function like `is_map_key/2` fails (rather than returning false), it causes the entire guard expression to fail, bypassing short-circuit evaluation of subsequent `or` conditions. This means `a or b` and `b or a` in guards are not equivalent when `a` can raise an error, breaking the expected commutative property. As of Elixir 1.20.1 / OTP 29, no compiler warning is emitted for this pattern.
895 Impressions