WIP: step 9 - refactor to use active patterns and construction helpers to make the intent clearer when looking for special cases in the TestVectorPaths substructure. Unit tests are still broken...
WIP: step 10 - refactor to remove AugmentedInternalNode and all the cruft that went with it. Tests are still not passing.
WIP: step 11 - minor fix for bug caused by typo introduced in step 9 along with a simplification of logic for removal of vectors that are prefixes. Still hasn't fixed the unit test breakage.
WIP: step 12 - took out the nasty step-by-step introduction of a splitting ternary search tree node into a SharedPathPrefix when removing - now using a more direct approach that is hopefully more efficient. This now makes all the tests fail in the same way, which is progress of a sort. Tests are still broken...