If the Type contains a map or List, will they be initialized? It can't know about our own Classes, will it refuse to create the sub if the type contains classes not in the core or other Types, or will it initialize then and leave us to fill in default data required?
The only wish I could could think of on the top of my head after seeing this is a TypeToMap and MapToType kinda thing as I like saving JSON strings to a db. TypeToMap will convert the type to a map and MapToType will convert the map back to a type. #wishfulThinking.