factoring out some boilerplate for eval definitions in arithmetic subclasses