module GHC.Tc.Types.Rank (Rank(..)) where
import GHC.Base (Bool)
import GHC.Utils.Outputable (Outputable, (<+>), parens, ppr, text)
data Rank = ArbitraryRank
| LimitedRank
Bool
Rank
| MonoTypeRankZero
| MonoTypeTyConArg
| MonoTypeSynArg
| MonoTypeConstraint
| MustBeMonoType
instance Outputable Rank where
ppr ArbitraryRank = text "ArbitraryRank"
ppr (LimitedRank top_forall_ok r)
= text "LimitedRank" <+> ppr top_forall_ok
<+> parens (ppr r)
ppr MonoTypeRankZero = text "MonoTypeRankZero"
ppr MonoTypeTyConArg = text "MonoTypeTyConArg"
ppr MonoTypeSynArg = text "MonoTypeSynArg"
ppr MonoTypeConstraint = text "MonoTypeConstraint"
ppr MustBeMonoType = text "MustBeMonoType"