Trurl писал(а):
Загрузили модуль, сделали NEW(x), выгрузили, еще раз загрузили. Версия типа актуальная, но она не совпадает с версией типа x.
Нет, там происходит следующее:
Сделали NEW(x), потом он где-то болтается (пусть по якорю остался жить в другом модуле).
После перезагрузки модуля все NEW(x) будут уже порождать объект с другим тегом (новым).
А старый объект будет жить, ссылаясь на старый дескриптор (в невыгружаемой части старой версии модуля). И он уже не будет ни под какие статические сравнения IS|WITH и приведения типа опознаваться (т.к. правая сторона IS|WITH всегда статически связана с актуальной версией типа, по импорту - мы не могли перезагрузить модуль и не перезагрузить его импортирующий, который с IS|WITH, а "переменных типа" у нас нет, если мы не используем Meta.Item).