Go makes you believe you dealt with the error, but instead you just forget about it.
Also, checked exceptions are very much not like that, and being able to handle errors of a logical unit is also beneficiary (e.g. transactions). You are free to use the scope-size that makes sense for the given use case.
> Go makes you believe you dealt with the error, but instead you just forget about it.
Can you explain that? Touching every context of an error propagation seems opposite of forgetting about it.
Go makes you deal with the error every single time something could go wrong, so you have a chance to do the right thing and append context at every single failure path.