The interesting thing is that in e.g. Node I would've done this a bit differently: I would have read the files, then mangled around with plain objects and lots of functions, and written the output to a file in the end.
In Rust, I thought about the necessary `Record` struct first and changed lots of values already when de-serializing the CSV file.
Traits are in the center of this. I say: This is what my data should look like, and this is how you -- serde -- get to that.