`instant-aeson` allows you to generically derive JSON representations (from the `aeson` package) for your types using `instant-generics`, which in particular, supports deriving generic representations for GADTs.