code: def _generate_attrs(self):
          
          attrs = {}
  
          if ismodule(self.doubled_obj):
              for name, func in getmembers(self.doubled_obj, is_callable):
                  attrs[name] = Attribute(func, 'toplevel', self.doubled_obj)
          else:
              for attr in classify_class_attrs(self.doubled_obj_type):
                  attrs[attr.name] = attr
  
          return attrs
docs: Get detailed info about target object.
  
          Uses ``inspect.classify_class_attrs`` to get several important details about each attribute
          on the target object.
  
          :return: The attribute details dict.
          :rtype: dict