When the first example of C# email app came, you could see that serialized MD:s were added to the app container.
Back then I thought that it was a strange way of getting the MD address in serialized form, because I didn’t imagine that we would want to store an entire MD within another MD. At the time I did it the same way. And I have seen others do this as well (decorum code for example).
Quite recently I realised that the serialize API didn’t give the serialized address, but instead the entire MD. So in my most recent code I store the MD address and type tag, whenever I need to store a reference to an MD.
But now I wonder, what is the purpose of storing a serialized MD into another MD? The serialized one will be variable in size, could fill up the entire MD, and instead we could just store a constant size reference in form of xor address + type tag. The data is already in the network, why store it in the network again?
The only reason I would want to serialize an MD now, is if I want to store it outside of the network, but then I might use any serialization that I prefer. And so I also wonder if there really is a need for the serialization API?