fixing Expression::eval