Add some weird Kmettian tests to the test suite
reflection does some funny business essentially coercing between
constraints has some code that's very sensitive to superclass cycle detection. And there's some other package (
structures?) that coerces between
# to stick raw
MutArr# pointers into arrays. I believe Kmett also uses
unsafeCoerce# reallyUnsafePtrEquality# to compare pointers of kind
# to others (of possibly different types).
None of these things are anything like officially supported. However, breaking them could be expensive for the ecosystem. Dealing with breakage when someone discovers it months later can be very hard, so I think some of these things should probably be added to the GHC test suite. Failures shouldn't categorically prevent changes from being merged, but they would provide an early warning and get conversations started earlier.