Go has some weird syntactic sugar including where a method invocation is rewritten by the compiler to pass in a value or a pointer depending on what the <i>callee</i> wants(!?!). And yet Go code is still littered with:<p><pre><code> if err != nil {
</code></pre>
... rather than some simple, compile-time validated sugar to pass the error value up the call chain. Yes, I've read the justification documents. No, they still don't make a very convincing argument.