```rust #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] #[serde(untagged)] pub enum Array { Regular(RegularArray), Cursed(CursedArray), } #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] pub struct RegularArray { pub len: u32, pub stride: u32, } #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] pub struct CursedArray { indices: Vec, }