public static <I, T> Future<Boolean> combineB(final Set<I> source, final Function<I, Future<T>> generateFun) {
        final Set<Future<T>> futures = new HashSet<>();
        HUt.itSet(source).map(generateFun).forEach(futures::add);
        return HArrange.combineT(futures).compose(nil -> Future.succeededFuture(Boolean.TRUE));
    }