def __init__(self, py_func, cres, sin, sout, cache, is_parfors):
        """
        The *is_parfors* argument is a boolean that indicates if the GUfunc
        being built is to be used as a ParFors kernel. If True, it disables
        the caching on the wrapper as a separate unit because it will be linked
        into the caller function and cached along with it.
        """
        self.py_func = py_func
        self.cres = cres
        self.sin = sin
        self.sout = sout
        self.is_objectmode = self.signature.return_type == types.pyobject
        self.cache = (GufWrapperCache(py_func=self.py_func)
                      if cache else NullCache())
        self.is_parfors = bool(is_parfors)

        The *is_parfors* argument is a boolean that indicates if the GUfunc
        being built is to be used as a ParFors kernel. If True, it disables
        the caching on the wrapper as a separate unit because it will be linked
        into the caller function and cached along with it.
        
numba/np/ufunc/wrappers.py