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