docs: def _unwrap_obj(self, fobj, fun):
          """Unwrap decorators."""
          try:
              prev_func_obj, next_func_obj = (
                  fobj.f_globals[fun],
                  getattr(fobj.f_globals[fun], "__wrapped__", None),
              )
              while next_func_obj:
                  prev_func_obj, next_func_obj = (
                      next_func_obj,
                      getattr(next_func_obj, "__wrapped__", None),
                  )
              return (prev_func_obj, inspect.getfile(prev_func_obj).replace(".pyc", "py"))
          except (KeyError, AttributeError, TypeError):
              # KeyErrror: fun not in fobj.f_globals
              # AttributeError: fobj.f_globals does not have
              #                 a __wrapped__ attribute
              # TypeError: pref_func_obj does not have a file associated with it
              return None, None