In tsinfer, by default we split the "ultimate root" (the one that is all-ancestral states) into separate segments when any of its children change. However, we do not split local root nodes. This might improve dating (see tskit-dev/tsinfer#850). I see this as quite similar to the split_disjoint routine, so maybe we should make it part of tsdate.preprocess_ts, rather than a default for tsinfer. We could simply add a split_roots option too.
In the long term, this may not matter as:
- @duncanMR is likely to change the ancestor-generating process so that ancient topology is resolved using neighbour-joining, which may lead to roots being split up anyway.
- We are thinking of combining tsdate into the tsinfer pathway, so maybe it's not important where it gets put?