undef ~~ 0 is false, but undef == 0 is true - this one is falling under
the undef ~~ Any case, not the Any ~~ Num case.
Any Regex pattern match $a =~ /$b/
Object Any invokes ~~ overloading on $object, or falls back:
+ undef Any undefined !defined($b)
Any Num numeric equality $a == $b
Num numish[4] numeric equality $a == $b
- undef Any undefined !defined($b)
Any Any string equality $a eq $b
1 - empty hashes or arrays will match.