One could use the `set` directly

```python
class Unique(object):

    def __init__(self):
        self.value_seen = set()

    def __call__(self, values):
        self.value_seen.update(arg_to_iter(values))
        return self.value_seen
        # or to not expose the set
        # return iter(self.value_seen)
```