extend depthFirst to post/inOrder, finalize toString for Ast