code: def is_subtype(type1, type2):
      """
      Return True if type1 is a subtype of type2. False otherwise.
      """
      if type2 == unknown:
          return True  # any class is a subclass of unknown (None) type.
      if is_list(type2):
          return is_list(type1) and is_subtype(type1.T[0], type2.T[0])
      if is_tensor(type1) and is_tensor(type2):
          return is_subtype_tensor(type1, type2)
      return type1 == type2
  
imports: from .type_bool import bool
  from .type_double import is_float, fp16, fp32, fp64
  from .type_list import is_list
  from .type_int import is_int, int8, int16, int32, int64, uint8, uint16, uint32, uint64
  from .type_str import str
  from .type_unknown import unknown
  import numpy
  import sympy
  import six
  from .get_type_info import get_type_info
label_desc: Use image node_id 16 for calling a global function with example usage: is_subtype(type1, type2) and returns: unknown, True, unknown, is_subtype_tensor