\begin{code}
module Match where
import Var	( Id )
import TcType	( Type )
import DsMonad	( DsM, EquationInfo, MatchResult )
import CoreSyn	( CoreExpr )
import HsSyn	( LPat, HsMatchContext, MatchGroup )
import Name	( Name )

match 	:: [Id]
        -> Type
	-> [EquationInfo]
	-> DsM MatchResult

matchWrapper
	:: HsMatchContext Name
        -> MatchGroup Id
	-> DsM ([Id], CoreExpr)

matchSimply
	:: CoreExpr
	-> HsMatchContext Name
	-> LPat Id
	-> CoreExpr
	-> CoreExpr
	-> DsM CoreExpr

matchSinglePat
	:: CoreExpr
	-> HsMatchContext Name
	-> LPat Id
        -> Type
	-> MatchResult
	-> DsM MatchResult
\end{code}
