getInstEnvs, getFamInstEnvs, -- Getting the environments
getTopEnv, getGblEnv, getTcEvBinds, getUntouchablesTcS,
- getTcEvBindsBag, getTcSContext,
+ getTcEvBindsBag, getTcSContext, getTcSTyBinds,
newFlattenSkolemTy, -- Flatten skolems
import HscTypes
import BasicTypes
import Type
-import TcRnTypes
import Inst
import InstEnv
import Id
import FunDeps
+import TcRnTypes
+
import Control.Monad
import Data.IORef
\end{code}
isGiven _ = False
isDerived :: CtFlavor -> Bool
-isDerived ctid = not $ isGiven ctid || isWanted ctid
+isDerived (Derived {}) = True
+isDerived _ = False
canRewrite :: CtFlavor -> CtFlavor -> Bool
-- canRewrite ctid1 ctid2