in reply to ISA but no farther?

In chatter Corion suggested replacing 'XXX' eq ref( $obj ) with defined( blessed( $obj ) ) and $obj->ref( 'XXX' ) having first done *UNIVERSAL::ref = sub { ref($_[0]) eq $_[1] } which would allow everything that doesn't redefine ->ref(...) to continue to function while giving space for a user function to lie with its own ->ref(...) function.