Thanks for mentioning
https://github.com/lainio/err2. I'm the author of the package. Maybe a few words about it would be ok.
We could say that the err2 package is one of the most important libraries in our corporation's use. It's over three years old by now, and we have used it both for internal and open source projects: small and large, and, of course, in production as well. So, we take it quite seriously.
The idea and need for the package came from the famous: "more error handling with less checking." You can read
my blog post about some of the reasoning. Please note that the post is written before Go generics. We used Go's code generation to solve high-performance needs with ease of use. Since we had so many big projects using err2 before Go 1.18 and generics, we offered a migration tool to port those repos to use the new Go generics-based err2 API if they wanted. Now the API relay on Go generics, and we drop the type variables.
I always nice to hear that others are working on the same problem area. I'm sure we can help each other!
-Harri