1) Use the pointer receiver unless you have a really good reason to do otherwise.
2) Never, ever use named returns. Code can (and should) always be written to not use them.