I tested this but it doesn't work. The tp_flags from tp_base isn't copied over. I also had a look at the Python source and confirmed is there as well. The function in question in Objects/typeobject.c:inherit_special().