fixed unused parameter warning
added an overload to avoid unreferenced parameter warning

MSVC complains that the args parameter is unreferenced in case it's an empty tuple. The overload that handles empty tuples eliminates this warning.