That's a good catch about compareStr (and even query). I should have cleaned that up earlier.

The "orderedCompare" name came from the fact this this function is responsible for comparing the parts of the string in the correct order. computeMatch sounds better to me, though. As you say, this is the main entry point.