def METHOD_NAME(val, c):
    """
    Type various specific Python types.
    """
    if issubclass(val, BaseException):
        return types.ExceptionClass(val)
    if issubclass(val, tuple) and hasattr(val, "_asdict"):
        return types.NamedTupleClass(val)
    if issubclass(val, np.generic):
        return types.NumberClass(numpy_support.from_dtype(val))
    if issubclass(val, types.Type):
        return types.TypeRef(val)
    from numba.typed import Dict
    if issubclass(val, Dict):
        return types.TypeRef(types.DictType)
    from numba.typed import List
    if issubclass(val, List):
        return types.TypeRef(types.ListType)