Why is this an issue?

Certain bit operations are just silly and should not be performed because their results are predictable.

Specifically, using & -1 with any value will always result in the original value, as will anyValue ^ 0 and anyValue | 0.