#2794 outlines the process of using the tks_tree_position_t class to handle the logic of moving between trees. To do this we'll embed a tsk_tree_position_t into the tsk_tree_t struct. A nice consequence of this (I think) is that we'll then have access (withing the library at least) to the edges that were inserted and removed in order to perform the last tree transformation, and this will remove the need to have a separate tree_position_t iterator for the places we're currently using them (since #2786):
- kc_distance algorithm
- haplotype matching