Rest parameters

Using a macro for `function` in order to get at the rest param.
This doesn't handle the case of using `new Function()` syntax yet. Not sure how to go about doing that.