Implementing n-tree with list

I want to implement n-tree by using list of nodes and jitclass but using deferred type for list but it is not possible(error is down below). If it needs additional functionality ,i need to report. Can you help?
TypingError: List.item_type cannot be of type OptionalType(DeferredType#1744333178288) i.e. the type ‘DeferredType#1744333178288 or None’

node_type = deferred_type()
@jitclass([('data', int32), ('children', types.ListType(optional(node_type)))])
class Node():    
    def __init__(self,key):

(if i don’t use optinal() function it gives this error:
TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Failed in nopython mode pipeline (step: nopython frontend)
Cannot infer the type of variable ‘$8build_list.2’ (temporary variable), have imprecise type: list(undefined)<iv=None>.

For Numba to be able to compile a list, the list must have a known and
precise type that can be inferred from the other variables. Whilst sometimes
the type of empty lists can be inferred, this is not always the case, see this
documentation for help:Troubleshooting and tips — Numba 0.50.1 documentation
) )

When I use a typed list with:

from numba.experimental import jitclass
from numba.types import deferred_type, int32, optional, ListType
from numba.typed import List

node_type = deferred_type()

@jitclass([('data', int32), ('children', ListType(node_type))])
class Node():
    def __init__(self,key): = key
        self.children = List()


I get no exception - does this help for your use case or do you run into another error?