Merging the reduce_parentheses and simplify_functions step missed a case
where the function simplification could pull a fake function declarator
up to the current tree position. Continuing the tree traversal will miss
this, leaving the fake parameter in the tree (which is then rejected as
a syntax error later).
The fix is easy enough, just repeat the whole reduction step until no
changes are needed at the current position before continuing traversal.