-- sensible location. Note: we have to do this odd
-- ann-grabbing, because we don't always have annotations in
-- hand when we call tcMatchesFun...
- checkArgs fun_name matches
+ traceTc (text "tcMatchesFun" <+> (ppr fun_name $$ ppr exp_ty))
+ ; checkArgs fun_name matches
-- ToDo: Don't use "expected" stuff if there ain't a type signature
-- because inconsistency between branches
-- Ensure that every old binder of type b is linked up with its new binder which should have type [b]
; let list_bndr_ids = zipWith mk_list_bndr list_bndr_names bndr_ids
bindersMap' = bndr_ids `zip` list_bndr_ids
+ -- See Note [GroupStmt binder map] in HsExpr
; using' <- case using of
Left e -> do { e' <- tcPolyExpr e using_ty; return (Left e') }