Haskell automatically serializes any datatype with typeclasses and DerivingGenerics