def merge_sets(*zs):
    """Merge one or more sets into one without modifying any argument set.

    >>> merge_sets(set([1,2,3]), set([3,4,5]))
    {1, 2, 3, 4, 5}

    """
    res = set()
    for z in zs:
        res.update(z)
    return res