@@ -506,9 +506,9 @@ check' (TypedValue checkType val ty1) ty2 = do
506 val' <- subsumes (Just val) ty1' ty2'
506 val' <- subsumes (Just val) ty1' ty2'
507 case val' of
507 case val' of
508 Nothing -> throwError . errorMessage $ SubsumptionCheckFailed
508 Nothing -> throwError . errorMessage $ SubsumptionCheckFailed
509− Just val'' -> do
509+ Just _ -> do
510− val''' <- if checkType then withScopedTypeVars moduleName args (check val'' ty2') else return val''
510+ val''' <- if checkType then withScopedTypeVars moduleName args (check val ty2') else return val
511− return $ TypedValue checkType (TypedValue True val''' ty1') ty2'
511+ return $ TypedValue checkType val''' ty2'
512check' (Case vals binders) ret = do
512check' (Case vals binders) ret = do
513 vals' <- mapM infer vals
513 vals' <- mapM infer vals
514 let ts = map (\(TypedValue _ _ t) -> t) vals'
514 let ts = map (\(TypedValue _ _ t) -> t) vals'
@@ -660,8 +660,8 @@ meet e1 e2 t1 t2 = do
660-- Ensure a set of property names and value does not contain duplicate labels
660-- Ensure a set of property names and value does not contain duplicate labels
662ensureNoDuplicateProperties :: (MonadError MultipleErrors m) => [(String, Expr)] -> m ()
662ensureNoDuplicateProperties :: (MonadError MultipleErrors m) => [(String, Expr)] -> m ()
663−ensureNoDuplicateProperties ps =
663+ensureNoDuplicateProperties ps =
664 let ls = map fst ps in
664 let ls = map fst ps in
665 case ls \\ nub ls of
665 case ls \\ nub ls of
666 l : _ -> throwError . errorMessage $ DuplicateLabel l Nothing
666 l : _ -> throwError . errorMessage $ DuplicateLabel l Nothing
667− _ -> return ()
667+ _ -> return ()