Hi dear spearse developers, in a lot of kernel code we have integer types that store offsets and length in certain units (typically 512 byte disk "sectors", file systems block sizes, and some weird variations of the same), and we had a fair amount of bugs beause people get confused about which ones to use. I wonder if it is possible to add an attribute (say nocast) that works similar to __attribute__((bitwise)) in that it disallows mixing this type with other integer types, but unlike __attribute__((bitwise)) allows all the normal arithmetics on it? That way we could annotate all the normal conversion helpers with __force overrides and check where people are otherwise mixing these types.