Now that SE-0065 moved index manipulation methods into collections, it would be possible to switch to unowned(unsafe) references inside BTreeWeakPath, probably speeding up indexing considerably. Perhaps even making indexing competitive with iteration.
This requires much more careful index invalidation, so #7 is likely a prerequisite.