function Set.union(u,q)local h={}for u,q in pairs(u)do h[u]=true end for u,q in pairs(q)do h[u]=true end return h end
--[=[
	Unions the set with the other set, making a copy.
	@param set table
	@param otherSet table
	@return table
]=]
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
