| Thanks for the feedback! > Will that end up on Github? It's already there! I just haven't cut a release since the change. > Most often I want to return just the first error. In many cases, I do too, which is why (*pool).WithFirstError() exists :) > original errors can be inspected as intended If you're using errors.Is() or errors.As(), error inspection should still work as expected. > Often goroutine overhead is negligible and I would bound concurrency in dumber ways Yes, definitely. And that's what I've always done too. However, I've found it's surprisingly easy to get subtly wrong, especially when modifying code I didn't write, and even more especially if I want to propagate panics (which I do, though that seems to be a somewhat controversial opinion in this thread). Conc is intended to be a well-known pattern that I don't have to think about too much when using it. > I think(?) conc does that too, but it could use documentation It does! I'll update the docs to make that more clear. |