Order by desc

When we have a Union_Ordered, sometimes we need to compare the different values of the union (e.g. if we're sorting over it). This causes the index to preserve that information.

I'm going to refactor the determineOrderEffectiveness method shortly to have less nested if/for/if stuff going on and open a second PR for that.
Ah, okay. My misunderstanding. I think the extra condition should be removed, because it should be impossible to hit and has non-trivial code in it. I'm happy to have an exception or an assertion or even nothing in its place.