Description
There's (a lot of) duplication between Function.Related.TypeIsomorphisms
and Data.(Product|Sum).Algebra
(and possibly elsewhere: eg the duplication of True↔
between the first of these, and Relation.Nullary.Decidable
...).
This might be bad enough to want to deprecate whole modules, but there is a subtle problem exposed by #2419 , namely that not all the lemmas are as level-polymorphic as they might be, esp. those in Data.Product.Algebra
, where the use of Algebra.Definitions
imposes a homogeneous level restriction.
So a refined refactoring might be to makeFunction.Related.TypeIsomorphisms
home for the heterogeneous level-polymorphic definitions (the direction in #2419 ), while making Data.*.Algebra
home for the homogeneous/algebraic versions?
This feels as though it might be a useful clean-up, but potentially breaking
wrt possibly unresolved Level
metas and/or name clashing which no obvious (or at least: sensible) deprecation strategy can comfortably accommodate... cf #2421