NegateRoundingMode is currently called between two (fallible) ValidateTemporalUnitValue calls. This looks a bit strange.
Suggestion:
- Call
NegateRoundingMode directly after GetRoundingModeOption.
- Or call
NegateRoundingMode directly before the Return step.