Про SYSTEM.ADR, INTEGER и SYSTEM.O2ADR. Наверное дело в разрядности платформы. В Обероне-2 ведь INTEGER - 16 битный. То есть на 32-разрядной платформе SYSTEM.ADR должен возвращять обероновский LONGINT. Чтобы не путаться между INTEGER и LONGINT, ИксДэЭсовцы наверное и ввели generic тип SYSTEM.O2ADR.