Is there anything else I can add to it to make it feel more like an "index"? I thought about providing an USR, but since all USR generation seems to work on top of ValueDecls I wanted to be sure if this is possible in first place.
Clang has similar need, index module references with an associated USR. That will allow us to index the same module references across Swift and Objective-C, using the same USR.
Basically, give me some time, I'll introduce some APIs on the clang side to create a USR for a module, and you'll then be able to use them for the Swift side as well.