Listing 1

template <u32 N>
struct GenNLSequence
{
  typedef typename NL::Append<
      typename GenNLSequence
        <N-1>::Result, N-1
    >::Result  Result;
};

template <>
struct GenNLSequence<0>
{ 
  typedef NL::NullType Result;
};