local I=script.Parent local t=require(I.copy)local c=I.Parent local Z=require(c.t)local s=Z.tuple(Z.table,Z.any)local function J(I,c,Z)assert(s(I,c))local J=t(I)J[c]=Z return J end return J
local Dictionary = script.Parent
local copy = require(Dictionary.copy)

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

local validate = t.tuple(t.table, t.any)

local function set(dictionary, key, value)
	assert(validate(dictionary, key))

	local new = copy(dictionary)

	new[key] = value

	return new
end

return set