Traversal through BSTs
Think about the code to traverse a tree
inorder using a pointer based
implementation:
void inorder_print(tree root) {
     if (root) {
      inorder_print(root->left_child);
      cout <<root->value.name);
      inorder_print(root->right_child);
     }