local t = { a = { b = { c = {} } } } local t1 = t:clone(1) assert(t1.a == t.a) -- depth 1 does not copy nested tables local t2 = t:clone(2) assert(t2.a != t.a) -- 'a' is cloned assert(t2.a.b == t.a.b) -- but 'b' is shared