Basically what I am trying to achieve is to read type constructor provided by call to some generic function, and create that object based on type provided to this function call. This of course requires me to go down the recursive path of reading types of constructor parameters and to create them too