Inspired by elizarov/DeepRecursiveFunction.kt.
Normally, when recursively evaluating the depth of a deep tree, it will result in stack overflow error. But, by using async/await, it keeps its stack on the heap, and evaluates correct result without error.
public static class Program
{