@@ -591,9 +591,6 @@ check' val u@(TUnknown _) = do
591 ty' <- replaceAllVarsWithUnknowns ty
591 ty' <- replaceAllVarsWithUnknowns ty
593 return val'
593 return val'
594−check' val (SaturatedTypeSynonym name args) = do
595− ty <- expandTypeSynonym name args
597check' v@(NumericLiteral _) Number = return $ TypedValue v Number
594check' v@(NumericLiteral _) Number = return $ TypedValue v Number
598check' v@(StringLiteral _) String = return $ TypedValue v String
595check' v@(StringLiteral _) String = return $ TypedValue v String
599check' v@(BooleanLiteral _) Boolean = return $ TypedValue v Boolean
596check' v@(BooleanLiteral _) Boolean = return $ TypedValue v Boolean
@@ -660,6 +657,9 @@ check' (Constructor c) ty = do
660 repl <- replaceAllTypeSynonyms ty1
657 repl <- replaceAllTypeSynonyms ty1
661 repl `subsumes` ty
658 repl `subsumes` ty
662 return $ TypedValue (Constructor c) ty
659 return $ TypedValue (Constructor c) ty
660+check' val (SaturatedTypeSynonym name args) = do
661+ ty <- expandTypeSynonym name args
663check' val ty = throwError $ prettyPrintValue val ++ " does not have type " ++ prettyPrintType ty
663check' val ty = throwError $ prettyPrintValue val ++ " does not have type " ++ prettyPrintType ty
665checkProperties :: [(String, Value)] -> Type -> Bool -> Subst [(String, Value)]
665checkProperties :: [(String, Value)] -> Type -> Bool -> Subst [(String, Value)]