First define the primary pattern as the most common case - which also includes a null argument:
template <typename... Args>
struct A { using Type = int; }
1 :
template <typename T, typename... Args>
struct A<T,Args...> { using Type = T; }
!
, 1 0 β - ( ).