@Tobion Redefining a method with the same signature triggers a fatal error on 5.3.3.

and I still don't like this. You are changing the contract of the method, meaning that you still need to do an instanceof check or to keep using the lowest common denominator (i.e. the path) everywhere.