@@ -599,9 +599,6 @@ check' v@(Constructor c) ty = do
599599check' (Let ds val) ty = do
600600 (ds', val') <- inferLetBinding [] ds val (`check` ty)
601601 return $ TypedValue True (Let ds' val') ty
602−check' val ty | containsTypeSynonyms ty = do
603− ty' <- introduceSkolemScope <=< expandAllTypeSynonyms <=< replaceTypeWildcards $ ty
604− check val ty'
605602check' val kt@(KindedType ty kind) = do
606603 checkTypeKind ty kind
607604 val' <- check' val ty
@@ -615,12 +612,6 @@ check' val ty = do
615612 Nothing -> throwError . errorMessage $ SubsumptionCheckFailed
616613 Just v' -> return $ TypedValue True v' ty
617614
618−containsTypeSynonyms :: Type -> Bool
619−containsTypeSynonyms = everythingOnTypes (||) go where
620− go (SaturatedTypeSynonym _ _) = True
621− go _ = False
622−
623−
624615-- |
625616-- Check the type of a collection of named record fields
626617--