docs: public final <E extends Throwable> A orElseThrow(Supplier<E> throwableSupplier) throws E {
          return orElseGet((CheckedSupplier<E, A>) () -> {
              throw throwableSupplier.get();
          });
      }