オブジェクトの削除は意外な挙動をしますね

array := object()
loop 10
{
array[a_index+1] := a_index*10
}
str := ""
for index, element in array
{
str .= index . " " . element . "`n"
}
msgbox % str
array.remove(1)
str := ""
for index, element in array
{
str .= index . " " . element . "`n"
}
msgbox % str

とやると何も起きないのかと思っていたのですが
要素数は変わらず全部のindexが1つずつ繰り上がっていました