I can't find documentation on vector-inc!
There is no standard vector-inc! function, that I know of. I simply meant your own function that would do as the name suggests. You are already using your Scheme variant's vector-for-each which does not take an index argument, in contrast with the SRFI-43 version: https://srfi.schemers.org/srfi-43/srfi-43.html#vector-for-each
I'm trying to figure out how to get a index out of vector-fold nicely, or otherwise a different procedure to do it.
The idea is to use sufficient information as the fold accumulator to comfortably perform the computation, then wrap the fold in an extractor that gets that part of the accumulator that you wish to return. When the information to be returned is insufficient on its own to perform the fold, the standard technique is to make the accumulator a superset of the final return.
It is unclear to me why the new 'ranked-parties-below' and 'incomparable-parties' take both a 'party' and a 'rank' argument. If the rank is computed externally, there does not seem to be a need for 'party'. If 'party' is passed in, the rank can be extracted locally, prior to the vector-count.