Fixed `set_and_inc` bug

Which was caused by `access` being incorrectly in  the `dont_recurse` list.

`'if'` is on that list because the name of `if` is the same before and after, but it does need rewriting. But i forgot to manually macroexpand instead, now it is being done in this commit.