Хочу расширить Array. Почитал Мука, посмотрел хелп. Сделал так:

Код AS3:
public dynamic class MyArray extends Array
{
public function MyArray(... args)
{
}
public function compact():Array {
var arr:Array = this.filter(
function (element:*, index:int, arr:Array):Boolean {
return (element != null);
})
return arr;
}
}
А это не работает:

Код AS3:
var my_arr:MyArray = [null, null, 2, 3];
//Пишет: Implicit coercion of a value with static type Array to a possibly
//unrelated type utils:MyArray.
var my_arr:MyArray = MyArray ([null, null, 2, 3]);
//Пишет rte: [Fault] exception, information=TypeError: Error #1034:
//Ошибка типа Coercion: невозможно преобразовать []@156d291 в utils.MyArray
var my_arr:MyArray = [null, null, 2, 3] as MyArray;
// Не ругается, но my_arr равен null
как можно создать объект MyArray из объекта Array ?
и в чем разница ... as MyArray и MyArray (...) ?