Consider:myAssert(false, "%d", 1);What is Args? "%d", 1 could refer to the optional arguments, or the variadic arguments. Both match.
Easy: the variadic arguments are not, themselves, optional. Match the variadic. This kind of problem is already solved in every language with "scattering" assignments, and other such features.