How Rust serde library works.
https://www.joshmcguigan.com/blog/understanding-serde/