local j=script.Parent local E=j.Parent local e=require(E.t)local Y=e.tuple(e.table,e.callback)local function F(j,E)assert(Y(j,E))local e={}for j,Y in pairs(j)do if E(Y,j)then e[j]=Y end end return e end return F
local Dictionary = script.Parent

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

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

local function filter(dictionary, filterer)
	assert(validate(dictionary, filterer))

	local new = {}

	for key, value in pairs(dictionary) do
		if filterer(value, key) then
			new[key] = value
		end
	end
	
	return new
end

return filter