https://medium.com/codex/data-structures-algorithms-in-ruby-depth-first-search-in-order-for-binary-trees-6074bc1b9d78