Consider a class with a custom Non-Data Descriptor (implements only __get__) and a Data Descriptor (implements __get__ and __set__). If an instance dictionary explicitly overwrites both descriptor names, what takes precedence when accessing obj.attr?