20:38:41shinmeraI guess what it needs is extra structure fields which represent the decoded contents. When decoding from a regular stream, it'll auto-fill those, otherwise leave them unbound.
20:38:57shinmeraWhen crating new files, you fill those in, and upon serialisation it does backfill/whatever necessary.
20:43:43shinmeraThough that, too, is not fantastic as it doesn't allow the "stream to disk/wherever"