Return as futures, instead of shared_futures