As far as I know, when it comes to Golang people mostly use worker (goroutine) pools to limit concurrency in one way or another.
After the addition of errgroup.SetLimit into the standard library this summer, which:
limits the number of active goroutines in this group to at most
n
are now worker pool patterns redundant in most cases?
If they aren't, what would be a good example where a worker pool pattern is still preferred over using errgroup.SetLimit or pure goroutines?