variadic templates, from Writing Quick Code in C++