This is quite clever, nice work.  Since we're in the wacky metaprogramming world of JavaScript, we can do even better, if you think it's warranted.  Rather than building an array of functions, we can programmatically construct a string defining a function and eval it, producing a single function that directly executes the appropriate "apply" functions (which will of course be inlined), one after the other.  If you think we'd benefit from this further speedup, I'm open to implementing this.  Let me know.