@@ -158,11 +158,14 @@ prefix :: Id -> AST Pre
158158prefix n = memo prefixed n typ
159159 where
160160 typ = \case
161− Obj i rs -> field rs
162− Enum i vs _ -> branch vs
163− _ -> pure mempty
161+ Obj _ rs -> field rs
162+ Enum _ vs _ -> branch vs
163+ _ -> pure mempty
164164
165− branch vs = pure (Pre "")
165+ branch vs = do
166+ p <- uniq branches (acronymPrefixes n) $
167+ Set.fromList (map CI.mk vs)
168+ pure (Pre p)
166169
167170 field rs = do
168171 let ls = Map.keys rs