Why is this precedence weird? Bitwise AND tends to be used to transform data while a logical AND tends to be used for control flow.
As in:
if (x & 2 == 2)
if (x & (2 == 2))
As in:
...is actually parsed as: ...which isn’t intuitive.