Constraint vs *
I first noticed something was a bit odd with `Constraint` when chasing #11334. Consider this testcase (`-O0` is sufficient), ```hs import Data.Typeable main = do print $ typeRep (Proxy :: Proxy Eq) print $ typeOf (Proxy :: Proxy Eq) ``` With `ghc-8.0` this will produce, ``` Eq Proxy (* -> *) Eq ``` Notice the second line; GHC seems to be claiming that `Eq :: * -> *`, which is clearly nonsense. I believe this issue may be the cause of some of the testsuite failures that I'm seeing on #11011. Unfortunately I haven't the foggiest where this issue might originate. See also - #11621 - #12933 - #9547 - #13931 - #15918 (about `mkCastTy`) - #21530 (ultimately also about `mkCastTy`)
issue