Вот еще одна дилемма:

Код AS3:
public static function summ( v1:Point,v2:Point ):void{
v1.x += v2.x;
v1.y += v2.y;
}

Код AS3:
// В функцию нужно передать сумму векторов не изменяя их значения, однако в этом случае
//к вектору v1 навсегда прибавится v2
somefunction( pVector.summ(v1,v2) );
Можно сделать так:

Код AS3:
public static function summ( v1:Point,v2:Point ):Point{
pX = v1.x + v2.x;
pY = v1.y + v2.y;
return new Point(pX,pY)
}

Код AS3:
//Но в этом случае придется писать довольно длинно
v1= pVector.summ(v1,v2)
//вместо короткого
pVector.summ(v1,v2)
К тому же, насколько я могу судить, во втором случае старые значения векторов будут складироваться в ожидании Сборщика Мусора а это не есть хорошо.
В общем, хотелось бы узнать как все грамотно сделать.