adjusted for the fact that "A + c" is now rejected by add::eval if A is