t.boolean=primitive("\098\111\111\108\101\097\110")t.coroutine=primitive("\116\104\114\101\097\100")t.callback=primitive("\102\117\110\099\116\105\111\110")t.none=primitive("\110\105\108")t.string=primitive("\115\116\114\105\110\103")t.table=primitive("\116\097\098\108\101")t.userdata=primitive("\117\115\101\114\100\097\116\097")function t.number(u)local R=typeof(u)if R=="\110\117\109\098\101\114"then if u==u then return true else return false end else return false end end function t.nan(u)if u~=u then return true else return false end end


t.boolean = primitive("boolean")
t.coroutine = primitive("thread")
t.callback = primitive("function")
t.none = primitive("nil")
t.string = primitive("string")
t.table = primitive("table")
t.userdata = primitive("userdata")

function t.number(value)
	local valueType = typeof(value)
	if valueType == "number" then
		if value == value then
			return true
		else
			return false
		end
	else
		return false
	end
end

function t.nan(value)
	if value ~= value then
		return true
	else
		return false
	end
end
