@@ -600,8 +600,8 @@ infer' v@(BooleanLiteral _) = return $ TypedValue True v tyBoolean
600infer' (ArrayLiteral vals) = do
600infer' (ArrayLiteral vals) = do
601 ts <- mapM infer vals
601 ts <- mapM infer vals
602 els <- fresh
602 els <- fresh
603− forM_ ts $ \(TypedValue _ _ t) -> els =?= TypeApp tyArray t
603+ forM_ ts $ \(TypedValue _ _ t) -> els =?= t
604− return $ TypedValue True (ArrayLiteral ts) els
604+ return $ TypedValue True (ArrayLiteral ts) (TypeApp tyArray els)
605infer' (ObjectLiteral ps) = do
605infer' (ObjectLiteral ps) = do
606 ensureNoDuplicateProperties ps
606 ensureNoDuplicateProperties ps
607 ts <- mapM (infer . snd) ps
607 ts <- mapM (infer . snd) ps