function t.intersection(...)local C={...}assert(callbackArray(C))return function(l)for C,x in ipairs(C)do local p=x(l)if not p then return false end end return true end end

	function t.intersection(...)
		local checks = { ... }
		assert(callbackArray(checks))

		return function(value)
			for _, check in ipairs(checks) do
				local success = check(value)
				if not success then
					return false
				end
			end

			return true
		end
	end
