Since C++14 has variadic template concept, it's not clear why do we ever should use typeList
s as their defined by Alexandrescu. For instance, I mean the following:
template <class T, class U>
struct Typelist
{
typedef T Head;
typedef U Tail;
}