\def\Macro#1{\directlua{luafunction("#1")}}
the transfer from TeX to Lua is by string. However what to do at the Lua end when calling \Macro{}?
As I understand it, then on the Lua side an empty argument and an empty string are indistinguishable. This is not always wanted, for example when one needs to place either a nil or an empty string into a Lua table. I am running in trouble when to t.key set to \Macro{} should become nil or when it should become "".
Is there some common understanding about how to handle this situation?