Where all of these fall over is data migration, which I wasn't surprised to see was missing from TFA. Having a runtime data model that "serializes itself" is lovely until you have to change the model of an existing dataset.
It's why Protobuf is such a complicated mess. It's why ORMs are usually a bad idea. Persistence is just hard over time.
A key finding is that the data model needs to handle process failures and upgrades/downgrades. This is why the memory model for Adama is simply JSON.