Thanks. I'm going to use that for now as it truly looks almost perfect:
/// The resources associated with each task are *guaranteed* to be released when
/// the individual task returns, as opposed to when the whole group completes or
/// is awaited. For this reason, it is not a resource leak to have a long-lived
/// group which concurrent tasks are repeatedly added to.
Just worried about how the comment continues (doesn't seem to apply to the threaded implementation though, so not an issue right now):
///However, asynchronous
/// tasks are not guaranteed to run until `Group.await` or `Group.cancel` is
/// called, so adding async tasks to a group without ever awaiting it may leak
/// resources.
But I guess that is indeed the replacement for thread.pool for now?