Ну, по крайней мере, поведение довольно таки странное:
X++:
Anytype a;
;
a = 100;
a = "aaa";
вместо ожидаемого значения получим 0;
подумал вот это выручит:
X++:
Anytype a;
;
a = 100;
a = null;
a = "aaa";
Получил еще более странный результат
В принципе, тут спасает только использование локальной функции, возвращающей Anytype.