'Warning: Steals reference to ``val``'

def list_setitem(self, lst, idx, val):

    fnty = Type.function(Type.int(), [self.pyobj, self.py_ssize_t, self.pyobj])
    fn = self._get_function(fnty, name='PyList_SetItem')
    return self.builder.call(fn, [lst, idx, val])
