&gt; Although developers skipping return value checks is true in most languages.<p>Yes, which is why I disagree with Go&#x27;s approach for error codes as return values. I&#x27;m not saying that exceptions are the right solution everywhere, but if you return a error code, you should make it pretty hard to ignore it. In languages with Algebraic Data Types it&#x27;s very easy to use Maybe or a Error(code) | Success(result) type. You&#x27;ve then got to explicitly deconstruct that type to get the result, so it&#x27;s a bit harder to just forget handling the error.