Hi, I guess I need a sounding board, We were using serde bitfields in order to drive a segmented screen. Can be simplified like this: ```rust #[binary_serde_bitfield] struct DashboardBitfield { #[bits(10)] battery1: battery::BatteryDisplay, #[bits(10)] battery2: battery::BatteryDisplay, // ... etc } ``` This serialization worked just fine and this struct also implemented our Dashboard trait, and we wrote all the tests for it. But now, we had to switch to I2C expanders 🙄, which maps this bitfield into another bitfield which makes each group functionally irrelevant. It requires a change to this: ```rust #[binary_serde_bitfield] struct DashboardBitfieldNew { #[bits(16)] io_expander_0: ioExpander, #[bits(16)] io_expander_1: ioExpander, // ... etc } ``` or something to that effect. If we want to, say, set a battery level, the methods will set multiple ioExpanders to get the same effect. The test patterns that we will compare with will be remade and it will be prone to error. I was wondering whether there is a good way to overcome this? We thought of a mapping function that maps two bitfields, but that sounds as it will be our technical debt. Is there a nice way to handle these cases? Any tips are heartily welcome.