The primitive integer types supported by CPUs are finite
approximations to the infinite set of integers we’re all used to. This
approximation breaks down and some computations will give results that
don’t match real integers, like
255_u8 + 1 == 0. Often, this
mismatch is something the programmer didn’t think about, and thus can
easily result in bugs.