@Dennis my bad I should've verified the D code I posted; with tuples though we have: import std.stdio:writeln; void fun(T...)(T n) { static foreach (x; n) writeln(x); writeln("L=", T.length); } void main(){ import std.typecons:tuple; fun(tuple(1,2).expand); // L=2 fun(tuple(1).expand); // L=1 fun(tuple().expand); // L=0 }
in any case, the previous answers make total sense regarding Nim's behavior.