Иван выбрал совершенно правильную стратегию - не вводить людей в заблуждение. Не врать. Потому что ложь разрушает доверие.
Что касается пунктов, "озвученных" Денисом:

WITH никаким боком не относится к объединениям (union). Эти понятия даже не параллельны/перпендикулярны - они вообще из разных вселенных. Кроме того, у реализации WITH есть фатальный недостаток, даже дыра- нет запрета на изменение переменной-указателя.

Среда выполнения Оберона, как правило, не обнуляет локальные переменные, и не всегда обнуляет глобальные.

Сборщик мусора не означает, что не нужно думать о памяти, как раз думать нужно. И Денис недавно в этом убедился.
Ну и финализаторы есть далеко не везде и это вынужденная мера. И да, во многих реализациях есть дыра - например, можно передать в процедуру по ссылке элемент массива, находящегося в куче. Обнулить указатель и собрать мусор. И всё, звездолёт упадёт.

Во многих компиляторах ( даже простейших) присутствуют ошибки. Простота языка никак не помогла( и не могла помочь ).

То, что безопасность была поставлена выше роли производительности это просто не правда. Оберон изначально разрабатывался как учебный язык, компилятор которого студенты могут реализовать за обозримое время. Много чего полезного было принесено в жертву - у академиков свои приоритеты. Но никто не запрещал студентам/аспирантам/...  разрабатывать оптимизаторы, дженерики, обработку исключений и т.д. Наоборот, всячески поддерживали. И насколько я помню, SSA-оптимизатор впервые был реализован именно для Оберона.

Горячей замены модулей в Оберонах нет, а то что есть (динамическая загрузка/выгрузка) нельзя использовать в промышленности. За такое нужно сразу отправлять на лесоповалы. Но такая реализация замечательно подходит для разработки и отладки.
В общем, не нужно желаемое выдавать за действительное.