docs: @SuppressWarnings("unchecked")
    private <T> T call(Function<Execution, CheckedSupplier<?>> supplierFn) {
      Execution execution = new Execution(this);
      Supplier<ExecutionResult> supplier = Functions.resultSupplierOf(supplierFn.apply(execution), execution);
  
      ExecutionResult result = execution.executeSync(supplier);
      if (result.getFailure() != null)
        throw result.getFailure() instanceof RuntimeException ?
            (RuntimeException) result.getFailure() :
            new FailsafeException(result.getFailure());
      return (T) result.getResult();
    }