Вы очень странно интерпретируете правила языка. Рассматривайте язык как простейшую машину, которая способна выполнять код согласно описанию языка. Это, кстати, правда - язык программирования  -  это абстракция вычислительной машины.

Конкретно WITH можно конструктивно выразить через IS и var(Type), ровно как и наоборот. Не стоит искать сложные интерпретации в духе того, как это может делать человек. Конструкцию языка ничего не рассматривают.