A signed span of time stored at nanosecond precision.
Component fields give the remainder at each unit after larger units are
subtracted (e.g. for a 90-second duration, minutes = 1 and seconds = 30).
Total fields give the entire duration expressed as a floating-point count
of the named unit (e.g. for 90 seconds, totalMinutes ≈ 1.5).
Supported operators: +, -, * (scale by number), / (scale by number;
dividing two Durations yields a number ratio), unary -, ==, <, <=.