code: def _dispatcher(type_: Any) -> Tuple[str, List[type]]:
      if _is_none_type(type_):
          return "none", []
  
      subtype = _Subtype.list_(type_)
      if subtype is not None:
          return "list", subtype
  
      subtype = _Subtype.dict_(type_)
      if subtype is not None:
          return "dict", subtype
  
      subtype = _Subtype.tuple_(type_)
      if subtype is not None:
          return "tuple", subtype
  
      subtype = _Subtype.optional(type_)
      if subtype is not None:
          return "optional", subtype
  
      subtype = _Subtype.union(type_)
      if subtype is not None:
          return "union", subtype
  
      subtype = _Subtype.callable(type_)
      if subtype is not None:
          return "callable", subtype
  
      return "atomic", [type_]
  
file_path: tvm/python/tvm/tir/schedule/_type_checker.py
imports: import collections
  import collections.abc
  import functools
  import inspect
  from typing import Any, Callable, Dict, List, Optional, Tuple, TypeVar, Union
  import typing
label_desc: Use image node_id 3 for calling a global function with example usage: _dispatcher(type_) and returns: str,  list, str,  list, str,  subtype, str,  subtype, str,  subtype, str,  subtype, str,  subtype, str,  subtype