But keep thinking about the moveable property whenever you add new thing to that structure.
I did want to give you also some link with information which basic UPP types are (not) moveable, but I don't see anything like that in documentation, just generic moveable concept description, and from some examples it is obvious the "UPP::String" *is* moveable too, so kodos gave you pretty much all reasonable documentation which is available.
But I think this area should be expanded and improved in documentation. Some simple table with moveable yes/no of Core UPP classes may be helpful. (looking at Mirek )