|Subject:||Triggers overload on blessed invocants|
Internally UNIVERSAL::can::can() calls ->isa() on the invocant, and UNIVERSAL::isa() (the built-in) triggers overloads on its argument - which is really bad if that overload method is costly (eg. DBIx::Class::ResultSet has a numeric conversion overload that performs a count(*) on the resultset..). I guess there are not many modules that intentionally stringify to the name of some class so that to keep UNIVERSAL::isa() happy, so this should not break much code. Seefor the patch (incl. a test, of course).