rendered paste bodyfoo = {a={},b={},c={"bar"},d={e={},f={"moo"}},1,2,3,4,5}bar = {"alpha", "beta", "theta", omega = {}}Example code:local mytraverser = traverse()mytraverser:enqueue("bar")mytraverser:enqueue("foo")for p,t,k,v in mytraverser() do--for p,t,k,v in traverse('foo') do print(string.format("%s[%s] = %s",tostring(p),tostring(k),tostring(v))) endOutputs:bar[1] = alphabar[2] = betabar[3] = thetabar[omega] = table: 0x50ec10foo[1] = 1foo[2] = 2foo[3] = 3foo[4] = 4foo[5] = 5foo[a] = table: 0x50c270foo[c] = table: 0x50cc00foo[b] = table: 0x50c4d0foo[d] = table: 0x50d1d0foo.c[1] = barfoo.d[e] = table: 0x50c3a0foo.d[f] = table: 0x50cf60foo.d.f[1] = moo