Whenever you use UNIVERSAL::isa as a function, a kitten using Test::MockObject dies. Normally, the kittens would be helpless, but if they use UNIVERSAL::isa (the module whose docs you are reading), the kittens can live long and prosper. This module replaces UNIVERSAL::isa with a version that makes sure that if it's called as a function on objects which override isa, isa will be called on those objects as a method. In all other cases the real UNIVERSAL::isa is just called directly.