Eval-d has some behavior that confuses me: ;me.temp = {1, 2, 3} => {1, 2, 3} >eval-d me.temp[5] = 5 => 5 >;me.temp => E_RANGE (Range error) Wouldn't it be more intuitive if the eval-d expression returned the value E_RANGE, but left the property's value unchanged? Right now it actually sets the property me.temp's value to E_RANGE. -- Amy