@@ -1131,7 +1131,9 @@ subsumes' val ty1 ty2 = do
1131-- TODO: handle constrained types
1131-- TODO: handle constrained types
1133meet :: Expr -> Expr -> Type -> Type -> UnifyT Type Check (Expr, Expr, Type)
1133meet :: Expr -> Expr -> Type -> Type -> UnifyT Type Check (Expr, Expr, Type)
1134−meet e1 e2 t1@(ForAll _ _ _) t2 = meet e1 e2 t1 t2
1134+meet e1 e2 (ForAll ident t1 _) t2 = do
1135+ t1' <- replaceVarWithUnknown ident t1
1135meet e1 e2 t1 (ForAll ident t2 _) = do
1137meet e1 e2 t1 (ForAll ident t2 _) = do
1136 t2' <- replaceVarWithUnknown ident t2
1138 t2' <- replaceVarWithUnknown ident t2
1137 meet e1 e2 t1 t2'
1139 meet e1 e2 t1 t2'