move semantic errors to walker