<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def difference(self, *sets):
 """ Returns all elements that are in this set but not the others. Example: OrderedSet([1, 3]) OrderedSet([1]) OrderedSet([1, 3]) OrderedSet([1, 2, 3]) """

        cls = self.__class__
        if sets:
            other = set.union(*map(set, sets))
            items = (item for item in self if item not in other)
        else:
            items = self
        return cls(items)