Not sure if the optimizer will optimize it down to `exp & 1 == 1`, though. I recently proposed a patch to change this in the `is_even` implementation of some types.