More FBT

Instead of getting bogged down in non-recursive tree traversal, I'm
going to start with recursion to see if the concept is sound, and then I
can go back later and optimize if (when) required.