docs: def getter(self, fget):
          """
          Change the getter for this descriptor to use to get the value
  
          :param fget: Function to call with an object as its only argument
          :type fget: Callable[[Any], Any]
          :return: self, so this can be used as a decorator like a `property`
          :rtype: CachedProperty
          """
          if getattr(self, '__doc__', None) is None:
              self.__doc__ = getattr(fget, _FUNC_DOC, None)
          if self.name is None:
              self.name = getattr(fget, _FUNC_NAME, None)
          self._getter = fget
          return self