Type used for variables that are indexes into the underlying storage. StorageModuloType types are offsets from the beginning of storage, and any bits outside of IndexMask are discarded. They may have added on multiples of the capacity due to wrapping around, but will be interpreted as pointing to the value at (value & IndexMask). StorageModuloTypes are also allowed to underflow/overflow their integer storage type; the only constraint is that X - Front <= Capacity for all valid indexes and for AfterBack.