How do you propose Go interfaces should be implemented then, to avoid the multiple issues the current implementation causes (more than one kind of nil is only one such issue, memory corruption under data races is another)?
I don't necessarily disagree that that was a design mistake, but there's zero mention of the word zero in the article.