PMCNULL is a singleton, so PMCNULL always equals PMCNULL. Undef allows morphing and "interesting values" of Undef (with attached properties and possibly roles) so it can't be just a singleton. But, Undef can report itself as equal to other Undefs. Let's make it so.
It's likely that undefined elements in Arrays should be PMCNULL, rather than Undef. (Hash returns PMCNULL.)