code: @SafeVarargs
    public static <T> Optional<T> firstNonNull(FuncE0<T, ?>... tasks) {
      for (FuncE0<T, ?> task : tasks) {
        T res = uncatch(task);
        if (res != null) {
          return Optional.of(res);
        }
      }
      return Optional.empty();
    }
docs: Return the first non-null result of the given tasks or empty if all of them return null.<br>
  IGNORE EXCEPTIONS.
  
  @param tasks
  @return can be null