Skip to content

Simplify given `Coercible` constraints

It would be feasible and possibly useful if

foo :: Coercible [a] [b] => a -> b
foo = coerce

would work. This involve simplifying CtGivens similar to how given (nominal) equalities are simplified.

I’ll defer working on this, as it is not strictly required, it seems.

Trac metadata
Trac field Value
Version 7.7
Type FeatureRequest
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler (Type checker)
Test case
Differential revisions
BlockedBy
Related #8503 (closed)
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information