improve debug ergonomics (as I debug)

* re-using argument variables makes it quite hard to see the original value, also it has some negative performance side-effects.
* using the comma operator for long variable declarations, especially if they include method invocations makes it impossible to easily set breakpoints.
Merge pull request #2050 from stefanpenner/master

improve debug ergonomics (as I debug)