"Организьм ослабляется алкоголем, никотином... излишествами нехорошими" (С)
(Шутка. Не надо накидываться с обвинениями в "фанатичном аскетизме".
)
А если серьёзно...
Хотим ввести некоторое неочевидное (по крайней мере, только для частного класса задач выгодное) удобство... Смотрим - может быть оно ничего не стоит? Ан нет - оно цепляет принципиальные вещи: принцип явной квалификации импортированных сущностей (т.к. по классич. законам Оберона надо бы писать Module."+" - но ясное дело, что тогда этот "+" никому нафиг не сдался) и правилам видимости (непонятно, как и по каким правилам включать в область видимости внешние операторы, как разрешать перегрузки и т.п.).
Та же история, что и с перечислимыми типами (которые при совмещении с динамической модульностью порождают разные непонятки, как и что должно себя вести в разных случаях. При этом в иных условиях, в иной языковой модели они могут не вызывать никаких вопросов - такая вот диалектика... Ну, касательно там всяких перегрузок и операций - в Лиспе с его макросами это органично работает, но там и идея языка - "пластилиновость", зато прощаемся с наличием жёсткой "каркаса под ногами", получаем "бесхребетность". Что-то теряем, что-то находим - а как иначе?).
Я думаю, что Гуткнехт, будучи специалистом экстра-класса, легко сбалансировал в реализации этой перегрузки операторов. Технически сбалансировал. Но концептуальная язвинка остаётся... В следующий раз захотим ввести что-то ещё - ещё компромиссы в языке - а потом проблемы... Какие?
Почитайте следующие книжки, где подробно разобрана система модульности и типизации Ады (казалось бы, более мощная) и Модулы-2 - и в итоге не в пользу Ады, где открываются тонкие дырки:
Янг "Алгоритмические языки реального времени",
Кауфман "Языки программирования" (ВМиК МГУ)
(см. обе здесь
viewtopic.php?f=6&t=1090&p=17330).
В итоге: я не говорю, что это однозначно плохо. Я говорю о том, что сомневаюсь (и далеко не только я) и лучше бы так делать не стал бы.