part explains clearly what the problem is, so the diagnostic is complete. You propose adding a sentence that also suggests a possible solution, which is a different thing.
Not many errors in Go do that, because it makes every error message more verbose. This style of diagnostic is useful in complex languages, where it may not be obvious at all how to fix an issue, but I'm not sure this is the case. In my experience, after you've seen the "has pointer receiver" error once or twice, you quickly learn what it means (and how to fix it).