A conversation with Marc Bradshaw about a Lua puzzle I found myself in. Lua 5.2.1 Copyright (C) 1994-2012 Lua.org, PUC-Rio >functionx() return'a','b','c'end> print(x()) a b c > print(x(),'d') a d A variant of this (table.unpack shenanigans) screwed me for about half an hour this morning. I’m sure there’s a logical explanation, but I’m not seeing it. Could the second print be prototyping as a 2 element list and then dumping the second and third elements of the first argument?