Понял, о чем вы говорите, действительно, я написал не совсем то, что хотел спросить.
Если не писать охрану типа array[0](Type1), то действительно пустые записи должны присваиваться.

Допустим, есть другой массив:
> -- Цитата:
> VAR    Value: ARRAY 3 OF INTEGER;
И надо сделать Value[i] := Value[j], если array[i] и array[j] одного типа.
Как понять, что array[i] и array[j] одного типа?