docs: public static double asDoubleExactly(Number number) {
          Class clazz = number.getClass();
  
          if (isDoubleRepresentable(clazz) || isLongRepresentableExceptLong(clazz)) {
              return number.doubleValue();
          } else if (clazz == Long.class) {
              double doubleValue = number.doubleValue();
              if (number.longValue() == (long) doubleValue) {
                  return doubleValue;
              }
          }
  
          throw new IllegalArgumentException("Can't represent " + number + " as double exactly");
      }