Also having stuff like a concurrency limiter (instead of doing weird var limiter chan struct{} and using it as `limiter <- struct{}{}` and `defer <-limiter`) as a library function in `sync` package would be great too.
https://pkg.go.dev/golang.org/x/sync/errgroup#Group.SetLimit
What use case do you have in mind?