There's no need for the args array here, right?  If I read the code right, fnargs is an arguments object so `fn.apply(obj, fnargs)` should do the right thing.