Clean up `Coercible` plumbing
Currently, the way Coercible is exported (with an data type in GHC.Types and a built-in !TyCon exported in GHC.Prim) works, but is confusing and should be cleaned up. Probably by exporting it directly from GHC.Types.
Care needs to be taken that ghci and haddock display the data from modified built-in !TyCon; when I tried that a while ago it was displayed as a regular data type by one of them. If that is still the case and I didn't just do a mistake back then, this probably needs to be understood and fixed.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.9 |
| Type | Task |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |