Update the TerminalSet.
        Keep elements from self and other, but discard elements that are in both.
        :param other: Iterable object with elements to compare with.
        :return: Current instance with updated state.

def symmetric_difference_update(self, other):
        # type: (Iterable[Any]) -> _BaseSet
        """
        Update the TerminalSet.
        Keep elements from self and other, but discard elements that are in both.
        :param other: Iterable object with elements to compare with.
        :return: Current instance with updated state.
        """
        intersect = self.intersection(other)
        self.remove(*intersect)
        for elem in set(other).difference(intersect):
            self.add(elem)
        return self