@@ -290,7 +290,7 @@ adjustRankContent youngMark visitMark groupRank content =
291 Structure flatType ->
291 Structure flatType ->
292 case flatType of
292 case flatType of
293− App1 _ args ->
293+ App1 _ _ args ->
294 foldM (\rank arg -> max rank <$> go arg) outermostRank args
294 foldM (\rank arg -> max rank <$> go arg) outermostRank args
296 Fun1 arg result ->
296 Fun1 arg result ->
@@ -304,7 +304,14 @@ adjustRankContent youngMark visitMark groupRank content =
304 do extRank <- go extension
304 do extRank <- go extension
305 foldM (\rank field -> max rank <$> go field) extRank fields
305 foldM (\rank field -> max rank <$> go field) extRank fields
308+ -- THEORY: a unit never needs to get generalized
309+ return outermostRank
312+ foldM (\rank arg -> max rank <$> go arg) outermostRank (a:b:cs)
307− Alias _ args _ ->
314+ Alias _ _ args _ ->
308 -- THEORY: anything in the realVar would be outermostRank
315 -- THEORY: anything in the realVar would be outermostRank
309 foldM (\rank (_, argVar) -> max rank <$> go argVar) outermostRank args
316 foldM (\rank (_, argVar) -> max rank <$> go argVar) outermostRank args