| CoPat HsWrapper -- If co::t1 -> t2, p::t2,
-- then (CoPat co p) :: t1
(Pat id) -- Why not LPat? Ans: existing locn will do
- Type
+ Type -- Type of whole pattern, t1
-- During desugaring a (CoPat co pat) turns into a cast with 'co' on
-- the scrutinee, followed by a match on 'pat'
\end{code}
--
type ModulePairSet = FiniteMap ModulePair ()
+listToSet :: [ModulePair] -> ModulePairSet
listToSet l = listToFM (zip l (repeat ()))
checkFamInstConsistency :: [Module] -> [Module] -> TcM ()
}
where
-- Split against the family tycon if the pattern constructor
- -- belongs to a representation tycon.
- --
+ -- belongs to a family instance tycon.
boxySplitTyConAppWithFamily tycon pat_ty =
traceTc traceMsg >>
case tyConFamInst_maybe tycon of