docs: @CanIgnoreReturnValue // TODO(kak): @CheckReturnValue
    @Partially.GwtIncompatible("AVAILABLE but requires exceptionType to be Throwable.class")
    public static <V, X extends Throwable> ListenableFuture<V> catchingAsync(
        ListenableFuture<? extends V> input,
        Class<X> exceptionType,
        AsyncFunction<? super X, ? extends V> fallback) {
      return AbstractCatchingFuture.create(input, exceptionType, fallback);
    }