Yes this is what trips many people up.<p>One reason `(* ﻿T)(nil) != nil` is because a `(*﻿ T)(nil)` can still have pointer methods called on it, and it can still work fine (as long as the receiver is never dereferenced, of course): <a href="https:&#x2F;&#x2F;play.golang.org&#x2F;p&#x2F;rup5cqapEU" rel="nofollow">https:&#x2F;&#x2F;play.golang.org&#x2F;p&#x2F;rup5cqapEU</a>