> { };  template<       typename F, typename T0, typename T0      > struct apply_wrap0      : F::template apply< T0,T0 > { };  template<       typename F, typename T0, typename T0, typename T0      > struct apply_wrap0      : F::template apply< T0,T0,T0 > { };  template<       typename F, typename T0, typename T0, typename T0, typename T0      > struct apply_wrap0      : F::template apply< T0,T0,T0,T0 > { };  template<       typename F, typename T0, typename T0, typename T0, typename T0     , typename T0      > struct apply_wrap0      : F::template apply< T0,T0,T0,T0