No ```Int<>::dim == 0``` it is really a vector with zero elements. I have testet with:

```
template< typename T, uint32_t T_dim=T::dim>
struct Test
{
  typedef T::creashme type;
};

//