This group models addition, but has a few problematic edge cases.
This ordering is valid for all defined durations.
This ordering is valid for all defined durations.
The value Duration.Undefined breaks our laws, because undefined values are not equal to themselves.
This is only approximately associative.
Due to the way floating-point equality works, this instance is not lawful under equality, but is correct when taken as an approximation of an exact value.
Due to the way floating-point equality works, this instance is not lawful under equality, but is correct when taken as an approximation of an exact value.
If you would prefer an absolutely lawful fractional value, you'll need to investigate rational numbers or more exotic types.
This group models addition, but has a few problematic edge cases.