def add_sets(*args):
    """
    Add sets. The arguments need not be sets. Returns a set of unique
    values. If the arguments include unhashable types, raises a TypeError.
    """
    out = set()
    for arg in args:
        for thing in arg:
            out.add(thing)
    return out