@@ -213,8 +213,7 @@ instantiatePolyTypeWithUnknowns val (ForAll ident ty _) = do
213213 instantiatePolyTypeWithUnknowns val ty'
214214instantiatePolyTypeWithUnknowns val (ConstrainedType constraints ty) = do
215215 dicts <- getTypeClassDictionaries
216− (_, ty') <- instantiatePolyTypeWithUnknowns (internalError "Types under a constraint cannot themselves be constrained") ty
217− return (foldl App val (map (flip TypeClassDictionary dicts) constraints), ty')
216+ instantiatePolyTypeWithUnknowns (foldl App val (map (flip TypeClassDictionary dicts) constraints)) ty
218217instantiatePolyTypeWithUnknowns val ty = return (val, ty)
219218
220219-- | Infer a type for a value, rethrowing any error to provide a more useful error message