Good point. It assumes size_t-sized blocks, but the pre-condition only works for 32-bit.

What do you think the best fix is here? Have different requirements for 32-bit and 64-bit, or force 64-bit words for all platforms, potentially breaking some existing, working code.