\begin{code}
module TcMonoType ( tcHsType, tcHsSigType, tcHsBoxedSigType,
- tcContext, tcClassContext,
+ tcContext, tcClassContext, checkAmbiguity,
-- Kind checking
kcHsTyVar, kcHsTyVars, mkTyClTyVars,
checkAmbiguity full_ty tyvars theta tau `thenTc_`
returnTc (mkSigmaTy tyvars theta tau)
+checkAmbiguity :: RenamedHsType -> [TyVar] -> ThetaType -> Type -> TcM ()
-- Check for ambiguity
-- forall V. P => tau
-- is ambiguous if P contains generic variables
-- This is the is_free test below.
checkAmbiguity full_ty forall_tyvars theta tau
- = mapTc check_pred theta
+ = mapTc_ check_pred theta
where
tau_vars = tyVarsOfType tau
fds = instFunDepsOfTheta theta