@@ -131,7 +131,8 @@ adjustRankContent youngMark visitedMark groupRank content =
131131 return groupRank
132132
133133 Alias _ args realVar ->
134− maximum <$> mapM go (realVar : map snd args)
134+ do realRank <- go realVar
135+ foldM (\rank (_, argVar) -> max rank <$> go argVar) realRank args
135136
136137 Structure (App1 func arg) ->
137138 max <$> go func <*> go arg
@@ -143,7 +144,8 @@ adjustRankContent youngMark visitedMark groupRank content =
143144 return outermostRank
144145
145146 Structure (Record1 fields extension) ->
146− maximum <$> mapM go (extension : Map.elems fields)
147+ do extRank <- go extension
148+ foldM (\rank field -> max rank <$> go field) extRank fields
147149
148150
149151