Attempt to adapt GHC Generics.