I have an aversion to using / and % when we know it's by a power of two and could just as well have used shifts and masks. I know that the compiler will strength-reduce them away when we build with optimizations, but when we don't, it probably won't.