Cute. Another version: `(a & -a) == a`, but neither work for 0. Does 0 need to be checked for?