disable getattr metaclass forwarding attributes from the python class, eg: bpy.types.Scene.foo != bpy.types.Scene.bl_rna.properties['foo'] ... This was convenient but too tricky to properly maintain with attribute assignment and attributes defined within the class. avoid doubles in dir() by converting to a set and then back to a list.