Is there any way to instantiate a recursive template object. For example: class Param (T) { T values; ... } ... Param! (Param) composite = new Param! (Param) ();