'Constructs and installs a typing class for a DUFunc object in the
input typing context.  If no typing context is given, then
_install_type() installs into the typing context of the
dispatcher object (should be same default context used by
jit() and njit()).'

def _install_type(self, typingctx=None):

    if (typingctx is None):
        typingctx = self._dispatcher.targetdescr.typing_context
    _ty_cls = type(('DUFuncTyping_' + self.ufunc.__name__), (AbstractTemplate,), dict(key=self, generic=self._type_me))
    typingctx.insert_user_function(self, _ty_cls)
