Refactored addWith/subtractWith to be instance functions. None of the
calling code has to change because abstracts syntactically treat static
functions with compatible signatures like instance functions.