def resolve_value_type(self, val):
        tp = typeof(val, Purpose.constant)
        if tp is not None:
            return tp

        if isinstance(val, (types.ExternalFunction, types.NumbaFunction)):
            return val

        if isinstance(val, type):
            if issubclass(val, BaseException):
                return types.ExceptionClass(val)
            if issubclass(val, tuple) and hasattr(val, "_asdict"):
                return types.NamedTupleClass(val)

        try:
            # Try to look up target specific typing information
            return self._get_global_type(val)
        except KeyError:
            pass

        return None
Return the numba type of a Python value that is being used
dataset/ETHPy150Open numba/numba/numba/typing/context.py/BaseContext.resolve_value_type