When recording MarkedSource values for Go types, it would be nice if we could follow the same structure that the go/types package uses. But right now the details of how it renders names are unexported, so we'd have to fork the package to do that.

Find a better way to handle this: One possibility is to destructure function, struct, and interface types explicitly via the exported interface. That wouldn't be quite as efficient, but would avoid the need for forking and might be good enough.