couldn't the time problem be solved by in direct references? (ie, all pike level references point to one reference location. and this reference location then points to the real memory. if the memory location changes then only the reference location needs to be updated.
ok, lookups would be a bit slower because one extra lookup is required, but other than that, i don't see any problem.
am i missing something?
note that i am not arguing to change things, i am just trying to understand, and maybe suggesting that the reason for breaking rerefences is elsewhere. (like other problems that may occur when the size of an array changes underneath you)
greetings, martin.