behaves even better.

Removes print statements from blocks of code that don't define anything.
Better error locating prints code sofar and marks the line with the
error.