move "standard" math logic from ops to the underlying types