My Interest is not to have UDT for fun, but for using them calling external functions/objects from activeX.dll (the most). Because I have the Group class which is like UDT (with nested UDT) but have methods so it is a kind of object, and we can get copies like udt or pointers to use them as objects. Also I have a "structure" type, like c types, which make a special "typelib" for using buffers of memory assigning types at specific offsets, so this is more like a udt. The difference is that it isn't a UDT which may have Arrays of type SafeArray.
So I am in a stage of thinking what is the most "clever" to do with UDT. I am not in a hurry although. So I am waiting to think the best solution, doing experiments and reading this forum (always).