change around definition of EvalError, add more to eval()
checkpoint commit for changing the Expr representation so that it can actually represent empty lists