QuantifiedConstraints: Incorrect pretty printing
This code from OutsideIn(X) compiles
{-# Language FlexibleInstances, MultiParamTypeClasses, GADTs, QuantifiedConstraints #-}
class C a
class B a b where op :: a -> b
instance C a => B a [a] where op = undefined
data R a where
MkR :: C a => a -> R a
k :: (C a => B a b) => R a -> b
k (MkR x) = op x
but pretty-printing k
prints B a b => ..
instead of (C a => B a b) => ..
$ ghci -ignore-dot-ghci hs/228-bug.hs
GHCi, version 8.5.20180128: http://www.haskell.org/ghc/ :? for help
[1 of 1] Compiling Main ( hs/228-bug.hs, interpreted )
Ok, one module loaded.
*Main> :t k
k :: B a b => R a -> b
*Main>