Codable implementation which omits default values?

Omitting default values during encoding is secondary on my priority list here, but it was a clean way to keep the serialized form small and to make the serialized form a "delta" on the original template defined by your default values.

I understand that the behavior of Codable does not work in the way I'm asking.

But to reiterate my original question: I was hoping to do boiler-plate-free serialization in a future-proof way, without having all the code that uses my structs have to check if things are optional. I want adding a new field to my structs to be as easy as adding a line

var newField = 42

I don't necessarily need to use Codable, but I was drawn to it because a) the compiler can synthesize the encode and decode methods for you, as long as your fields are also Codable and b) I don't have to write a JSON decoder/encoder if I use it, and c) you cannot write values with Mirror, so some kind of compiler synthesis is the only way to accomplish what I'm after (instantiating my structs from data without boilerplate serialization code).