local T=script.Parent local A=T.Parent local u=require(A.None)local S=require(A.t)local b=S.table local function p(...)local T={}for A=1,select("\035",...),1 do local S=select(A,...)if S~=nil then assert(b(S))for A,S in pairs(S)do if S==u then T[A]=nil else T[A]=S end end end end return T end return p
local Dictionary = script.Parent

local Llama = Dictionary.Parent
local None = require(Llama.None)
local t = require(Llama.t)

local validate = t.table

local function merge(...)
	local new = {}

	for dictionaryIndex = 1, select('#', ...) do
		local dictionary = select(dictionaryIndex, ...)

		if dictionary ~= nil then
			assert(validate(dictionary))
			
			for key, value in pairs(dictionary) do
				if value == None then
					new[key] = nil
				else
					new[key] = value
				end
			end
		end
	end

	return new
end

return merge