Make expressions (except procs) comparable
refactor some tests of eval