C++ variadic template syntax within dependent scope

You are missing one keyword. You need:

return F::template Apply<T...>(t...);

And it'll be fine. This error message is not the clearest one. :) You can find an explanation here if you are interested in the details: Where and why do I have to put the "template" and "typename" keywords?