Data.Poly.Functor
class PolyFunctor t
hmap
type family PolyFunctorConstraint (c :: * -> Constraint) t :: Constraint