docs: def own(self) -> 'PrettyDir':
          """Returns attributes that are not inhterited from parent classes.
  
          Now we only use a simple judgement, it is expected that many attributes
          not get returned, especially invoked on a module.
  
          For instance, there's no way to distinguish between properties that
          are initialized in instance class's __init__ and parent class's
          __init__(assuming super() is called). So we'll just leave it.
          """
          return PrettyDir(
              self.obj,
              [
                  pattr
                  for pattr in self.pattrs
                  if pattr.name in type(self.obj).__dict__
                  or pattr.name in self.obj.__dict__
              ],
          )