docs: def proxyval(self, visited):
          '''
          Support for new-style classes.
  
          Currently we just locate the dictionary using a transliteration to
          python of _PyObject_GetDictPtr, ignoring descriptors
          '''
          # Guard against infinite loops:
          if self.as_address() in visited:
              return ProxyAlreadyVisited('<...>')
          visited.add(self.as_address())
  
          pyop_attr_dict = self.get_attr_dict()
          if pyop_attr_dict:
              attr_dict = pyop_attr_dict.proxyval(visited)
          else:
              attr_dict = {}
          tp_name = self.safe_tp_name()
  
          # New-style class:
          return InstanceProxy(tp_name, attr_dict, long(self._gdbval))