User constructed types with new Data.Typeable and Data.Reflection