Not necessary - it already is a type tuple, and iteration works like a charm. In fact, TypeTuple is basically a no-op template. This is its source:

template TypeTuple(TList...)
{
    alias TList TypeTuple;
}

As you can see, it takes a type tuple as a parameter, and does nothing with it.