Out of interest, how about the proposed check and handle changes proprosed for v2?
Details here: https://dev.to/deanveloper/go-2-draft-error-handling-3loo
Details here: https://dev.to/deanveloper/go-2-draft-error-handling-3loo
With any sufficiently large application you start to realize how awful that is, especially when something fails and the only log is 'EOF'.
I've learned to treat errors as first class citizens, because they are. I always add an annotation and stack entry via wrappers before returning them. Unless I'm missing something, that seems all but impossible with these schemes.