Fix types of generated deriving methods
Fix types of generated deriving methods

Avoid generating them with a PolyType over an ExpreType.
Instead of `[T] (=> U)` we should generate `[T]U`. That's
what we do for all user-defined types.

dotty-staging/dotty,lampepfl/dotty,dotty-staging/dotty,sjrd/dotty,sjrd/dotty,dotty-staging/dotty,sjrd/dotty,lampepfl/dotty,lampepfl/dotty,dotty-staging/dotty,lampepfl/dotty,sjrd/dotty,sjrd/dotty,lampepfl/dotty,dotty-staging/dotty