Feature request: Polymorphic kinds in Data.Functor.Classes
The classes in Data.Functor.Classes have a somewhat restrictive kind signature:
*Data.Functor.Classes> :k Eq1 Eq1 :: (* -> *) -> Constraint
As a result, we redefine  many of them in the parameterized-utils library. It would be quite easy to make more polymorphic (have kind "(k -> *) -> Constraint"). If everyone thinks this is a good idea, I'm happy to submit a pull request.
: To be precise, there are actually a few axes along which the classes in parameterized-utils vary from those in base. Some, like OrdF, require more type-level evidence. Others, like EqF, don't require their type parameter to have the corresponding instance. There are a lot of points in the design space here.