local new, del do local list = setmetatable({}, {__mode='k'}) function new() local t = next(list) if t then list[t] = nil return t else return {} end end function del(t) setmetatable(t, nil) for k in pairs(t) do t[k] = nil end table.setn(t, 0) list[t] = true end end