I do think this is a blocker for merging. One of the goals of this story is to create an algorithm we can use for real to power submission allocation for peer grading. We can do performance optimization around the edges for some stories (sprinkle caching here and there), but we want to make sure the fundamental way we're storing and pulling these is sound. And that's not the case if it requires n separate calls for n in the thousands or tens of thousands.