Too bad that C++ doesn’t have reflection. It has so so many features but you still have to write serialization/deserialization by hand which is a pain and a source of bugs. OTOH C# has it but working with it quickly leads to dirty code salad.
At this point I could say that dynamic type langs are the best option but then you quickly encounter some unwieldy codebases.
I guess there is no point to my ramblings other than that I’ve had enough of reading other people ’s salad code for today.