It’s the complete lack of magic. What you see in front of you is pretty much exactly what happens. You don’t have to keep a cathedral of language semantic subtleties in your head when reading someone else’s code.
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.