Right now they're all named worker, which is pretty useless.
In run_on_each, we could easily name them like f"{async_fn.__name__} #{index}", which seems reasonable.
But that wouldn't help run_all, where you really want to pass down each individual callable's name somehow... maybe run_on_each should have an option to explicitly override the names?
Though probably we need to figure out what the actual public APIs are (#3) before worrying about this too much.