diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Analysis/Identity.hs | 6 |
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) |