Regular BST inserting works, heights are generated correctly, and level-order traversal in print() is correct