> -- Цитата:
> По поводу бессмысленных проверок с заранее известным результатом - можно ли вот такой пример считать примером бессмысленных проверок:Нельзя. Компилятор использует лишь простые проверки осмысленности, и закладывать вязыке общего назначениябольшее - это глупость, потому что приведёт к более сложной минимальной реализации. В совокупности с другими схожими требованиями это может осложнить задачу на один-два порядка в зависимости от аппетита. Это уже задача для опционального анализатора. И это то, какреализация влияет на дизайн.

> -- Цитата:
> Я скорее думаю, что реализация оператора IS (и оператора WITH) не подразумевает прямое использование разыменованного указателя (динамического типа) как статического типа записи, поэтому требуется отдельная процедура, где разыменованный указатель (с помощью идентификатора VAR или IN) приводится к статическому типу записиВы изначально спросили о причине ограничения, а здесь уже сами в качестве причины указали само ограничение. Технически здесь нет никаких сложностей, так как наличие процедуры ничего не упрощает, и здесь как раз дизайн влияет на реализацию.