Listing 2: The bare essence of a tuple class without the explicit use of typelists

template<typename H, typename T>
class Tuple;

template<typename H>
class Tuple<H, Nil>
{
  H m_elem;
};

template<typename H, typename T>
class Tuple
{
  H m_elem;
  T m_rest;
};
— End of Listing —