docs: def set_wrapped(self, wrapped):
          """This will decide what wrapped is and set .wrapped_func or .wrapped_class
          accordingly
  
          :param wrapped: either a function or class
          """
          self.wrapped = wrapped
          functools.update_wrapper(self, self.wrapped, updated=())
          self.wrapped_func = False
          self.wrapped_class = False
  
          if inspect.isroutine(wrapped):
              self.wrapped_func = True
  
          elif isinstance(wrapped, type):
              self.wrapped_class = True