При таком подходе вообще все циклы упрощаются, в которых нужно в произвольное место добавить элемент (т.е. когда не хочется делать различия между добавлением в конец, в середину или в начало). Одно неудобно - если в списке хранятся не сами записи, а их наследники, то приходится приведение типа оборачивать в IF.

Интересно, не появится ли проблем или противоречий, если в языке разрешить следующее присваивание с охраной типа:
dest := source (DestType);
при source = NIL? В таком случае присваивание эквивалентно "dest := NIL", но Оберон выдаёт трап при попытке проверить тип sourcre.