And for everyone for Unit Test goodiness! Basically these design patterns  and various other meta manipulations things which operate on the nature of the object  not on the data the object holds could benefit greatly from knowing exactly what the final type of this object is  and not having native access to this information obligates work-arounds