public static bool Between <TValue>(
     this IComparable <TValue> comparable,
     TValue lowerValue,
     TValue upperValue)
 {
     comparable.CheckArgumentNull(nameof(comparable));
     return(comparable.CompareTo(lowerValue) > 0 &&
            comparable.CompareTo(upperValue) < 0);
 }