Right. Making that work would require using an indirect enum instead of Optional. I used that as an example of how making enums automatically indirect when needed is non-trivial with generic enums, when the indirect-ness may depend on the structure of the generic arguments.