Traversal level for CollectionDifference

Is there any reason CollectionDifference is a plain Collection, instead of bidirectional or random-access? Looking at the code (as of commit "3924d1a"), it looks like the authors just simply forgot. Was there a concern that the implementations of the sub-collections be changed to be non-random-access in the future?

The inclusion of index(before:) is gratuitous if the type wasn't meant to be at least BidirectionalCollection.

I'll file a bug report if it was an oversight.