В проектеWhere, написанном на ETH Oberon, встречается такой код:

## Код:
```
Compilation = POINTER TO RECORD ( ... )
   ...
END;
      
CompilMake = POINTER TO RECORD (Compilation)
   ...
END;
```
И сразу возникли вопросы.

Сначала: BlackBox такое скомпилирует если в первом указателе запись пометить как EXTENSIBLE.

Ofront(Оберон-2), напротив, не компилирует — ошибка "identifier does not denote a type".

Pow!компилирует.

XDS не компилирует. Требует присутствия END перед "(Compilation)".

В общем, закономерности я не заметил. А что говорит стандарт Оберона/Оберона-2 по этому поводу? Прокомментируйте, пожалуйста. И с точки зрения: нужна ли эта фича в Обероне/Обероне-2 по вашему мнению? — для упрощения при описании только динамических структур (не требуется отдельно описывать NodeDesc = RECORD и Node* = POINTER TO NodeDesc). И с точки зрения: как это реализовано в Обероне-07, и почему. Возможно, будут ещё какие мысли.

Интересуюсь с целью: вводить ли поддержку данной фичи вмой форк Ofront'а?