'The match compare key for sorting.
Current implementation:
1.  rules without any arguments come first for performance
reasons only as we expect them to match faster and some
common ones usually don\'t have any arguments (index pages etc.)
2.  The more complex rules come first so the second argument is the
negative length of the number of weights.
3.  lastly we order by the actual weights.
:internal:'

def match_compare_key(self):

    return (bool(self.arguments), (- len(self._weights)), self._weights)
