Avoid leaking "arguments" in utils.intercept.

This change improve performance considerably in certain cases.
Included test case has 100% branch coverage