Describe the bug
The current print method for BinaryTree is based on recursion. An iterative implementation is necessary to avoid potential stack overflows.
To Reproduce
const bst = new BST()
for (let i = 1; i <= SYSTEM_MAX_CALL_STACK; i++) bst.add(i);
bst.print()