Fix `int i = (i=3);` not working correctly

Fixes #178 (That was easier than expected)
{nit} With this, we don't need the return value of `newLocalVar` any more.