'Compile and bind to the current context a version of this kernel
specialized for the given signature.'

def compile(self, sig):

    (argtypes, return_type) = sigutils.normalize_signature(sig)
    assert (return_type is None)
    kernel = self.definitions.get(argtypes)
    if (kernel is None):
        if ('link' not in self.targetoptions):
            self.targetoptions['link'] = ()
        kernel = compile_kernel(self.py_func, argtypes, **self.targetoptions)
        self.definitions[argtypes] = kernel
        if self.bind:
            kernel.bind()
    return kernel
