Agreed. I'm using code based on GitHub - gonzalezreal/DefaultCodable: A convenient way to handle default values with Swift Codable types which comes up with a set of property wrappers that make Codable handle more cases. Also, some glue logic to deal better with optionals based on https://forums.swift.org/t/using-property-wrappers-with-codable/.
A new system should, at the minimum, provide all that builtin.