Reading the original FAQ: Am I wrong or is this (yet another) abstraction leak even more confusing than C? How much longer does everyone cling to the "What I like about Go is that it's so simple!" mythology? Bah, here comes the downvotes...
But making the runtime go out of its way to store the exact type of an object you don’t have is damn weird. In theory a method could accept a nil receiver, but in practice they never seem to.