Generate the user-facing flags type.
The code here belongs to the end-user, so new trait implementations and methods can’t be added without potentially breaking users.