Add .sub() function. Refactor .add() into a ._add() with no error-checking or fast-paths.