Returns a tuple of the values that pertain to this constraint.

        It simply filters all values to by the variables this constraint uses.

def extract_values(self, possible_solution, use_defaults=False):
        """Returns a tuple of the values that pertain to this constraint.

        It simply filters all values to by the variables this constraint uses.
        """
        defaults = self._vardefaults if use_defaults else {}
        values = list(self._template)
        for i, var in enumerate(self._vars):
            values[i] = possible_solution.get(var, defaults.get(var, NilObject()))
        return values