code: def is_union_type(tp):
      
      if NEW_TYPING:
          return (tp is Union or
                  isinstance(tp, _GenericAlias) and tp.__origin__ is Union)
      return type(tp) is _Union
docs: Test if the type is a union type. Examples::
  
          is_union_type(int) == False
          is_union_type(Union) == True
          is_union_type(Union[int, int]) == False
          is_union_type(Union[T, int]) == True