- -> TcType s -- Expected type
- -> TcM s (TcPat s,
- LIE s, -- Required by n+k and literal pats
- Bag (TcTyVar s), -- TyVars bound by the pattern
- Bag (Name, TcIdBndr s), -- Ids bound by the pattern, along with the Name under
+ -> TcType -- Expected type; see invariant in tcVarPat
+ -> TcM s (TcPat,
+ LIE, -- Required by n+k and literal pats
+ Bag TcTyVar, -- TyVars bound by the pattern
+ -- These are just the existentially-bound ones.
+ -- Any tyvars bound by *type signatures* in the
+ -- patterns are brought into scope before we begin.
+ Bag (Name, TcId), -- Ids bound by the pattern, along with the Name under