def __getattribute__(self, attr):
    i = self.obj_type.__mro__.find(self.obj_type)
i += 1
while i < len(obj_type.__mro__):
    cur_type = self.obj_type.__mro__[i]
cur_dict = cur_type.__dict___
res = cur_dict.get(attr)
if res is not None:
    return res
i += 1
return object.__getattribute__(self, attr)
python: cooperative supercall of __getattr__