а почему если на параметр обращаться по имени, а не через массив аргументов, тоне работает?

Код:
class My_Delegate {
static function create(target:Object, func:Function, evtobj:MovieClip):Function {
var f = function () {
var target = arguments.callee.target;
var func = arguments.callee.func;
var arg = arguments.callee.arg;
trace("видна ведь: " + arg);
return func.apply(target, arg);
};
f.target = target;
f.func = func;
f.arg = evtobj;
return f;
}
}