All true, I never said anything different. But what's the point of adding methods?
What you can't do is add call specific information to errors returned from a particular function if that function returned a package level singleton value before.
I see. This isn't always true, many places in the standard library do not document what error they will return. Changing these wouldn't violate the Go1 guarantee either.
I see that other people have made the argument in support of Dave Cheney's approach already so I won't repeat it.
What you can't do is add call specific information to errors returned from a particular function if that function returned a package level singleton value before.