code: def type_to_builtin_type(type):
      # Infer from numpy type if it is one
      if type.__module__ == np.__name__:
          return numpy_type_to_builtin_type(type)
  
      # Otherwise, try to infer from a few generic python types
      if np.issubclass_(type, bool):
          return types_bool
      elif np.issubclass_(type, six.integer_types):
          return types_int32
      elif np.issubclass_(type, six.string_types):
          return types_str
      elif np.issubclass_(type, float):
          return types_fp32
      else:
          raise TypeError(
              "Could not determine builtin type for " + str(type)
          )
  
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 13 for calling a global function with example usage: type_to_builtin_type(type) and returns: numpy_type_to_builtin_type, types_bool, types_int32, types_str, types_fp32