Iterative inorder on the sample tree, step by step
==================================================

step | action              | stack (bottom..top) | output so far
1    | push 1              | [1]                 | []
2    | push 2              | [1 2]               | []
3    | push 4              | [1 2 4]             | []
4    | pop 4, visit        | [1 2]               | [4]
5    | pop 2, visit        | [1]                 | [4 2]
6    | push 5              | [1 5]               | [4 2]
7    | push 7              | [1 5 7]             | [4 2]
8    | pop 7, visit        | [1 5]               | [4 2 7]
9    | pop 5, visit        | [1]                 | [4 2 7 5]
10   | pop 1, visit        | []                  | [4 2 7 5 1]
11   | push 3              | [3]                 | [4 2 7 5 1]
12   | pop 3, visit        | []                  | [4 2 7 5 1 3]
13   | push 6              | [6]                 | [4 2 7 5 1 3]
14   | push 8              | [6 8]               | [4 2 7 5 1 3]
15   | pop 8, visit        | [6]                 | [4 2 7 5 1 3 8]
16   | pop 6, visit        | []                  | [4 2 7 5 1 3 8 6]
17   | push 9              | [9]                 | [4 2 7 5 1 3 8 6]
18   | pop 9, visit        | []                  | [4 2 7 5 1 3 8 6 9]
