refactor RoundingModes to be instances instead of types