How to pass a function (not a result) as a member of an array

DebugFunc():void=
        var TestArr : []void = array{}
        set TestArr += array{DebugFunc2}
        for (FuncToProcess : TestArr):
            FuncToProcess
DebugFunc2():void=
        Print("2")

So this compiles but crashes the UEFN session. If I add “()” in “array{DebugFunc2}” then it won’t crash, but I will get “Print(“2”)” immediately, but I want to delay the result until the for loop starts going through. I don’t know if it’s even possible, so any help will be appreciated.

DebugFunc():void=
    # var TestArr : []void = array{}
    var TestArr : [](tuple() -> void) = array{}
    set TestArr += array{DebugFunc2}
    for (FuncToProcess : TestArr):
        # FuncToProcess
        FuncToProcess()
DebugFunc2():void=
    Print("2")