Crie uma função que recebe uma lista de funções e as ordena em ordem crescente com base em quantas chamadas são necessárias para que retornem algo que não seja uma função.
f1 = _ => "hello"
// f1() ➞ "hello"
f2 = _ => _ => "edabit"
// f2()() ➞ "edabit"
f3 = _ => _ => _ => "user"
// f3()()() ➞ "user"
funcSort([f2, f3, f1]) ➞ [f1, f2, f3]
// [f2, f3, f1] ➞ [2, 3, 1] ➞ [1, 2, 3] ➞ [f1, f2, f3]
funcSort([f1, f2, f3]) ➞ [f1, f2, f3]
// [f1, f2, f3] ➞ [1, 2, 3] ➞ [1, 2, 3] ➞ [f1, f2, f3]
funcSort([f2, "func"]) ➞ ["func", f2]
// [f2, "func"] ➞ [2, 0] ➞ [0, 2] ➞ ["func", f2]Numbers, Booleans e Strings, entre outros.