I have several times seen a construct template foo(T...) if(T.length == 1) { ... }What is that good for? Why using variadic parameter if anyway exactly one parameter is required?!?
AFAIK, it's a historical workaround to accept T as either alias or not alias, as varargs have "auto alias". EG:
foo!int //OK foo!"hello" //OK too