Isn’t manual ser/de pretty common? I like it personally. Being explicit at program boundaries usually means far fewer bugs inside the program. In JS I can pile whatever JSON I want into an object, but eventually I need to throw Zod or something at it to tame the crazy.
Maybe a generic “pile this data into this value and pretend it’s safe” tool might be nice for prototyping.