Now catches more semantic errors related to undefined or redefined
variables