@@ -268,20 +268,22 @@ data Memo = Memo
268268 }
269269
270270initial :: Service (Fix Schema) -> Memo
271−initial s = Memo s mempty mempty core mempty reserveBranches mempty
271+initial s = Memo s mempty mempty core mempty mempty mempty
272272 where
273273 -- Types available in Network.Google.Prelude.
274274 core = Map.fromList
275275 [ ("Body", SLit requiredInfo Body)
276276 ]
277277
278− -- Reserved sum constructor names.
279− reserveBranches = Map.singleton mempty . Set.fromList $
280− map (CI.mk . global) (Map.keys (s ^. dSchemas))
281−
282278makeLenses ''Memo
283279
284280instance HasService Memo (Fix Schema) where
285281 service = context
286282
287283type AST = ExceptT Error (State Memo)
284+
285+reserveBranches :: AST ()
286+reserveBranches = do
287+ ss <- use schemas
288+ let bs = Set.fromList $ map (CI.mk . global) (Map.keys ss)
289+ branches %= Map.insertWith (<>) mempty bs