local function p(p,d)local T=type(p)assert(T=="\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 "..T)local J=type(d)assert(J=="\102\117\110\099\116\105\111\110","\101\120\112\101\099\116\101\100 \097 \102\117\110\099\116\105\111\110 \102\111\114 \115\101\099\111\110\100 \097\114\103\117\109\101\110\116\044 \103\111\116 "..J)for T=1,#p,1 do if d(p[T],T)then return true end end return false end return p

local function some(list, predicate)
	local listType = type(list)
	assert(listType == "table", "expected a table for first argument, got " .. listType)
	
	local predicateType = type(predicate)
	assert(predicateType == "function", "expected a function for second argument, got " .. predicateType)
	
	for i = 1, #list do
		if predicate(list[i], i) then
			return true
		end
	end

	return false
end

return some