<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def build_key(self) -> Tuple[bool, int]: """A Key to sort the rules by weight for building. The key leads to ordering: - By routes with defaults first, as these must be evaulated for building before ones without. - Then the more complex routes (most converted parts). """

        if self.map is None:
            raise RuntimeError(f"{self!r} is not bound to a Map")
        return (not bool(self.defaults), -sum(1 for weight in self._weights if weight.converter))