Removing recursion via explicit callstack simulation

Recursive Problems Benefit from Recursive Solutions

[Self post] Bridging the Object-Oriented and Functional Divide with the Visitor pattern