class_docstr: Type dispatch table implementation.
  
  A type dispatch table is a list, L, of target types. Given a request type, R,
  the table selects a target type, T, according to the following dispatch rules:
    1. R == T or R is supertype of T (functions are contravariant on args)
    2. There does not exist O in L such that R is supertype of O and O is a
       supertype of T (in other words, T is the closest to R, within list L).
    3. If the above two rules are satisfied by multiple targets, the earliest
       inserted one is chosen.
docstr: Creates a TypeDispatchTable object.
code: def __init__(self):
      """Creates a TypeDispatchTable object."""
      # Holds all inserted types as keys mapping to None.
      # (Using OrderedDict as a set for determinism)
      self._dispatch_table = collections.OrderedDict()
  
      # LRU cache for dispatch results.
      # Maps request types to target types (see class description).
      # Does not contain exact matches, i.e, if cache[a] is b then a is not b.
      self._dispatch_cache = collections.OrderedDict()
  
file_path: tensorflow-upstream/tensorflow/core/function/polymorphism/type_dispatch.py
imports: import collections
  from typing import Optional, Iterable
  from tensorflow.core.function.polymorphism import function_type
label_desc: Use image node_id 1 to create a new TypeDispatchTable object  with example: obj = TypeDispatchTable()