The existing version is entirely idiomatic, and not out of line with the style guides. For example, this style is common with encoder/decoders:

```go
var m Message
if err := dec.Decode(&m); err != nil {
  // ...
}
```