local E=require(script.Parent.copy)local function s(s,c,H)local l=type(s)assert(l=="\116\097\098\108\101","\101\120\112\101\099\116\101\100 \097 \116\097\098\108\101 \102\111\114 \102\105\114\115\116 \097\114\103\117\109\101\110\116\044 \103\111\116 "..l)assert(c~=nil,"\101\120\112\101\099\116\101\100 \115\101\099\111\110\100 \097\114\103\117\109\101\110\116 \116\111 \098\101 \097\110\121\116\104\105\110\103 \098\117\116 \110\105\108\044 \103\111\116 \110\105\108")local K=E(s)K[c]=H return K end return s

local copy = require(script.Parent.copy)

local function set(dictionary, key, value)
	local dictionaryType = type(dictionary)
	assert(dictionaryType == "table", "expected a table for first argument, got " .. dictionaryType)

	assert(key ~= nil, "expected second argument to be anything but nil, got nil")

	local new = copy(dictionary)

	new[key] = value

	return new
end

return set