Rob T wrote: > In fact, I can define the structure just fine provided that I do not > use a template.
.. and if one uses a template one can get an infinite recursion, because templates include recursion. This is the case in your code. The code I gave elimates that infinite recursion. The code compiles although it uses a template. Not seeing e recursion does not mean that there is none. Not every recursion is as simple to see as: | alias X Y; | alias Y X; -manfred