Часть проблемы, я подозреваю, вращается вокруг того факта, что целочисленные типы без знака в C должны вести себя как члены абстрактного алгебраического кольца, а не как числа [что означает, например, что если 16-разрядное целое число без знака) переменная равна нулю, при уменьшении ее требуется для получения 65 535, а если она равна 65 535, то при увеличении ее необходимо получить ноль.] Бывают случаи, когда такое поведение чрезвычайно полезно, но числовые типы проявляют такое поведение возможно, пошли против духа некоторых языков. Я бы предположил, что решение об исключении неподписанных типов, вероятно, предшествует решению поддерживать как проверенные, так и непроверенные числовые контексты. Лично я хотел бы, чтобы были отдельные целочисленные типы для чисел без знака и алгебраических колец; применение унарного оператора минус к 32-разрядному числу без знака должно дать 64-разрядный результат со знаком [отрицание чего-либо, кроме нуля, приведет к отрицательному числу], но применение унарного минуса к типу кольца должно привести к аддитивной инверсии в этом кольце.
В любом случае, целые числа без знака не соответствуют CLS в том, что Microsoft решила, что языки не должны поддерживать целые числа без знака, чтобы считаться «совместимыми с CLS».