code: def _tp_cache(func):
      
  
      cached = functools.lru_cache()(func)
      _cleanups.append(cached.cache_clear)
  
      @functools.wraps(func)
      def inner(*args, **kwds):
          try:
              return cached(*args, **kwds)
          except TypeError:
              pass  # All real errors (not unhashable args) are raised below.
          return func(*args, **kwds)
  
      return inner
docs: Internal wrapper caching __getitem__ of generic types with a fallback to
      original function for non-hashable arguments.