function t.intersection(...)local d={...}assert(callbackArray(d))return function(M)for d,b in ipairs(d)do local f,t=b(M)if not f then return false,t or""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, errMsg = check(value)
				if not success then
					return false, errMsg or ""
				end
			end

			return true
		end
	end
