function t.optional(s)assert(t.callback(s))return function(k)if k==nil then return true end local r=s(k)if r then return true else return false end end end

function t.optional(check)
	assert(t.callback(check))
	return function(value)
		if value == nil then
			return true
		end

		local success = check(value)
		if success then
			return true
		else
			return false
		end
	end
end
