summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Analysis/Identity.hs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/Analysis/Identity.hs b/src/Analysis/Identity.hs
index 186ab71..f34bfbc 100644
--- a/src/Analysis/Identity.hs
+++ b/src/Analysis/Identity.hs
@@ -116,9 +116,9 @@ idana env expr = case expr of
(v3, e3') <- idana (v1' `SCons` env) e3
pure (v3, ECase v3 e1' e2' e3')
VIEither' v1'l v1'r -> do
- (_, e2') <- idana (v1'l `SCons` env) e2
- (_, e3') <- idana (v1'r `SCons` env) e3
- res <- genIds (typeOf expr)
+ (v2, e2') <- idana (v1'l `SCons` env) e2
+ (v3, e3') <- idana (v1'r `SCons` env) e3
+ res <- unify v2 v3
pure (res, ECase res e1' e2' e3')
ENothing _ t -> pure (VIMaybe Nothing, ENothing (VIMaybe Nothing) t)