> certain objects may need to hold a sizeable amount of text (say 500 chars) > where as other instances may only need to hold 1 character.
Note that a Nim string is a value object with a data buffer allocated on the heap for the actual text data. So sizeof(myStringInst) should be a small value, I think 16 bytes currently, the capacity (int64) and the pointer to the actual heap data. Something like that, I do not care much for internal details. So when you add a string field to an object variant type the size of that object variant should increase only by 16 bytes.