function Set.union(X,G)local E={}for X,G in pairs(X)do E[X]=true end for X,G in pairs(G)do E[X]=true end return E end

function Set.union(set, otherSet)
	local newSet = {}
	for key, _ in pairs(set) do
		newSet[key] = true
	end
	for key, _ in pairs(otherSet) do
		newSet[key] = true
	end
	return newSet
end
