Портабельность приложений написанных на Обероне становится довольно условной.
Это почему?
Потому, что ты не можешь сказать компилятору что ты хочешь, и при этом не можешь его спросить что он может.
Всё-же, у тебя несколько специфическое понятие о портабельности.
Ведь есть в плюсцах тип size_t, который не привязан к разрядности, а кпак и INTEGER в Обероне определяется конкретной аппаратной платформой, только никто из плюсовых поклонников, отчего-то, не считает, что это снижает портабельность C++, скорее наоборот.
В Обероне07 тип INTEGER несёт ту же нагрузку, что и size_t, и как-раз и обеспечивает портируемость.
INTEGER всегда соотвествует целому типу оптимального для данной платформы размером.
Если тебе нужна специфика в разрядах, значит тебе требуется реализовать поддержку нужной тебе разрядности отдельно, в виде библиотеки, пространства SYSTEM или даэе глобального пространства.
Но, как и в случае с C++ такой код и не будет портабелен.