function Symbol.named(R)assert(type(R)=="\115\116\114\105\110\103","\083\121\109\098\111\108\115 \109\117\115\116 \098\101 \099\114\101\097\116\101\100 \117\115\105\110\103 \097 \115\116\114\105\110\103 \110\097\109\101\033")local u=newproxy(true)local l=string.format("\083\121\109\098\111\108\040\037\115\041",R);(getmetatable(u)).__tostring=function()return l end return u end return Symbol

function Symbol.named(name)
	assert(type(name) == "string", "Symbols must be created using a string name!")

	local self = newproxy(true)

	local wrappedName = string.format("Symbol(%s)", name)

	getmetatable(self).__tostring = function()
		return wrappedName
	end

	return self
end

return Symbol
