(Try to) restructure `base` to allow more use of `AutoDeriveTypeable`
comment:#9111 (closed):16 explains that import-cycles containing Data.Typeable.Internal
(which provides the Typeable
class AutoDeriveTypeable
needs to be loaded for being able to operate) inside base
make it difficult to use AutoDeriveTypeable
, as well as making it more difficult to de-cycle the base
import-dependency graph (see also attachment:typeable_deps.png)
This ticket is about trying to find a way to restructure base
in order to allow to define the Typeable
instances directly at the type's definition site (and thus allow the use of AutoDeriveTypeable
)
Removing cycles in base
is possibly required to make SplitBase easier