code: def checker_for_type(t):
      
      try:
          if t is True:
              return true_checker
          if t is False:
              return false_checker
          checker = memoized_type_checkers.get(t)
          if checker is not None:
              return checker
          hashable = True
      except TypeError:
          # Exception may be raised if `t` is not hashable (e.g. a dict)
          hashable = False
  
      # The type checker needs to be created
      checker = _create_checker_for_type(t)
      if hashable:
          memoized_type_checkers[t] = checker
      return checker
docs: Return "checker" function for the given type `t`.
  
      This checker function will accept a single argument (of any type), and
      return True if the argument matches type `t`, or False otherwise. For
      example:
  
          chkr = checker_for_type(int)
          assert chkr.check(123) is True
          assert chkr.check("5") is False