What I am trying to achieve is to use a struct as a template parameter for another struct, without instantiation, so that it all happens at compile time. For example: