Make it easier to produce Exception values
Simplify readEval by using 'either' instead of 'case'