code: def is_Type(tp):
      
      if isinstance(tp, type):
          return True
      try:
          typing._type_check(tp, '')
          return True
      except TypeError:
          return False
docs: Python version independent check if an object is a type.
      For Python 3.7 onwards(?) this is not equivalent to
      ``isinstance(tp, type)`` any more, as that call would return
      ``False`` for PEP 484 types.
      Tested with CPython 2.7, 3.5, 3.6, 3.7 and Jython 2.7.1.