{-# LANGUAGE TypeFamilies #-} module Data.Aeson.Default.HKD ( HKD(..) ) where import Data.Functor.Identity {- | Wrap a datatype as __higer-kind data__. Using the HKD type family means that GHC will automatically erase any Identity wrappers in our representations. -} type family HKD a f where HKD a Identity = a HKD a f = f a