I guess I shouldn't have been afraid of generics (they get everywhere) ```rust let x = FlashWrapper { magic_start: 1, data: MySettings::default(), crc: 2, magic_end: 3 }; #[derive(Debug, BinarySerde)] struct FlashWrapper { magic_start: u64, data: T, crc: u64, magic_end: u64, } #[derive(Debug, Default, BinarySerde)] struct MySettings { foo: u8, far: u16, flag: bool, } ``` This appears to work well enough