Would making: - head->parent == head -> true - head->left == root -> true - head->right == root -> true result in a cleaner implementation of iterators?