Cannot remove element from double -linked list

Dear all.
I would like to remove an element from a doubly linked list. But it happens that, I can not assign an element pointer to another one, e.x = another_element.
So it mean I cannot edit any linked/doubly linked list.

LoweringError: Failed in nopython mode pipeline (step: native lowering)
No definition for lowering = OptionalType(DeferredType#140568068944656) i.e. the type ‘DeferredType#140568068944656 or None’
I came across to this bug report
Lowering error when removing element from the middle of linked list · Issue #2606 · numba/numba (
but even if it was told to be sold, I still can not get it worked.
I use numba 0.54.1

node_type = numba.deferred_type()
DoubleLinkedNode_spec = [
    ('data', int32),
    ('prev', numba.optional(node_type)),
    ('next', numba.optional(node_type))
class LinkedNode(object):
    def __init__(self, data, next, prev): = data = next
        self.prev = prev
    def nextpend(self, data): = LinkedNode(data, None, self)
    def prepend(self, data):
        self.prev = LinkedNode(data, self, None)

def create_first_node(data):
    return LinkedNode(data, None, None)

def convert_np_array_to_DLL(arr):
    last = create_first_node(arr[0])
    for i in range(1, arr.size):
        last = last.nextpend(arr[i])
    return head, last
head, last = convert_np_array_to_DLL(np.array(list(range(20))))

@ njit
def delete_DLL( element, head,last):
    if  element.prev==None: 
        head =
        element.prev =  None
        last = last.prev =  None
        x= element.prev
        element.prev= x
        y = 
        y.prev = x
    return  head, last

trip_head, last = convert_np_array_to_DLL(np.array(range(10))
delete_DLL(trip_head, trip_head, last)