A case study between Python and Go. In Go, a common complaint from newly-minted gophers who come from another language is the error handling pattern: result, err := DoSomething() if err != nil { return nil, err } another, err := SomethingElse(result) if err != nil { return nil, err } // We can be a bit more terse if we don't need to save any // variables outside of the if-scope: if err := MoreWork(another); err !