Below is a module that attempts to implement a Serialize instance for a simple GADT. Unfortunately the get implementation for the Reorder
Serialize
get
Reorder