rewrote ifeq without eval-exp