/// <summary>
 /// Computes the length of this interval: sum of the lengths of the continuous intervals it represents.
 /// </summary>
 /// <exception cref="ArgumentNullException" />
 public static TimeSpan Length <T>(this CompositeInterval <T> interval) where T : ISubtractable <T, TimeSpan> => Lengths.CompositeIntervalLength <T, TimeSpan>(interval);
 /// <summary>
 /// Computes the length of this interval: sum of the lengths of the continuous intervals it represents.
 /// </summary>
 /// <exception cref="ArgumentNullException" />
 public static decimal Length <T>(this CompositeInterval <T> interval) where T : ISubtractable <T, decimal> => Lengths.CompositeIntervalLength <T, decimal>(interval);
 /// <summary>
 /// Computes the length of this interval: sum of the lengths of the continuous intervals it represents.
 /// </summary>
 /// <exception cref="ArgumentNullException" />
 public static ulong Length <T>(this CompositeInterval <T> interval) where T : ISubtractable <T, ulong> => Lengths.CompositeIntervalLength <T, ulong>(interval);
 /// <summary>
 /// Computes the length of this interval: sum of the lengths of the continuous intervals it represents.
 /// </summary>
 /// <exception cref="ArgumentNullException" />
 public static float Length <T>(this CompositeInterval <T> interval) where T : ISubtractable <T, float> => Lengths.CompositeIntervalLength <T, float>(interval);
 /// <summary>
 /// Computes the length of this interval: sum of the lengths of the continuous intervals it represents.
 /// </summary>
 /// <exception cref="ArgumentNullException" />
 public static byte Length <T>(this CompositeInterval <T> interval) where T : ISubtractable <T, byte> => Lengths.CompositeIntervalLength <T, byte>(interval);