Go: then interfaces is not very equal

Once upon a time as was trying to compare two interfaces, and they both was nil, but my check every time was returning that these two nil interfaces are not equal. So basically it means what nil != nil. Lets reproduce this case:

So what is happening here? InterfaceTwo value is nil and it have no type. But interfaceOne value is pointer of SomeData and returning the nil value as type SomeData. And that is why these two nils are not equal.

--

--