Deriving Functor-like classes should unify kind variables