Most of the diff is replacing `__parent_pointer` with `__end_node_pointer`. The most interesting diff is that the pointer aliases are now defined directly inside `__tree` instead of a separate traits class.
Most of the diff is replacing `__parent_pointer` with `__end_node_pointer`. The most interesting diff is that the pointer aliases are now defined directly inside `__tree` instead of a separate traits class.