function t.numberConstrained(V,s)assert(t.number(V))assert(t.number(s))local j=t.numberMin(V)local l=t.numberMax(s)return function(V)local s=j(V)if not s then return false end local b=l(V)if not b then return false end return true end end

function t.numberConstrained(min, max)
	assert(t.number(min))
	assert(t.number(max))
	local minCheck = t.numberMin(min)
	local maxCheck = t.numberMax(max)

	return function(value)
		local minSuccess = minCheck(value)
		if not minSuccess then
			return false
		end

		local maxSuccess = maxCheck(value)
		if not maxSuccess then
			return false
		end

		return true
	end
end
