PSA: you can destructure in func arguments
\tv.iter().map(|Shader { program, .. }| program);
^ this is valid. it works on Self too.
\tfn exp_malus(Self { nature, heritage, levels, .. }: &Self) -> f32 {
i have just though that this would be a great feature and turns out it's already there. Should be explained in handbook honestly.
Do you know any little know rust features?