This is testing for an impossible case. the defaulttype is actually just a copy of typename.
Long term, It should probably be phased out and defaultvalue should be getting tested for null, instead.
We used to worry about testing defaultvalue for null because we were worried about possibly ignoring "default null" cases, but that was just silly because ignoring "default null" is correct behavior, anyway.