def Set(items, **kargs):
    """    An item selector returning each (hashable) input item only
    once, leaving out those elements which are not hashable.

    Example:

    >>> non_hashable = {'foo': 'bar'}
    >>> list(Set([1, 2, 3, 1, 2, non_hashable, 3, 4, non_hashable]))
    [1, 2, 3, 4]
    """
    data = set()
    for item in items:
        try:
            if item not in data:
                data.add(item)
                yield item
        except TypeError:
            pass
