The do_with() means we have an unconditional allocation, so we can justify the coroutine's allocation (replacing it). Meanwhile, coroutine::parallel_for_each() reduces an allocation if mutate_locally() blocks. Closes #10387
join_group0