-> MatchGroup Name
-> BoxyRhoType -- Expected type of function
-> TcM (HsWrapper, MatchGroup TcId) -- Returns type of body
-> MatchGroup Name
-> BoxyRhoType -- Expected type of function
-> TcM (HsWrapper, MatchGroup TcId) -- Returns type of body
= do { -- Check that they all have the same no of arguments
-- Location is in the monad, set the caller so that
-- any inter-equation error messages get some vaguely
= do { -- Check that they all have the same no of arguments
-- Location is in the monad, set the caller so that
-- any inter-equation error messages get some vaguely
doc = ptext SLIT("The equation(s) for") <+> quotes (ppr fun_name)
<+> ptext SLIT("have") <+> speakNOf n_pats (ptext SLIT("argument"))
n_pats = matchGroupArity matches
doc = ptext SLIT("The equation(s) for") <+> quotes (ppr fun_name)
<+> ptext SLIT("have") <+> speakNOf n_pats (ptext SLIT("argument"))
n_pats = matchGroupArity matches