This repository was archived by the owner on Mar 25, 2021. It is now read-only.

Description
As I understand from documentation, instances for Generic may only be defined in either:
- The module that defines the subject type.
- The module that defines the class
Generic.
- The module that defines the type used to construct the generic representation.
In the case of Generic, the latter two coincide in Data.Generic.Rep.
This means that I cannot possibly define an instance of Generic for any type I do not define myself in the first place. This includes all the usual types like Unit or Either. The only instance provided by this package is for Maybe — this is not enough. I propose that more instances be given.
Since generics are such a basic thing, I further propose that the right place to define instances is in the modules that define subject types. This includes the Maybe instance — it should be moved away for consistency.