Sure it does. You want EnumInnerAsTrait! with Display. Hell, the example of it it pretty much exactly what you asked for. An iterator will never work, first because the payload types aren’t the same, and secondly because the iterator cannot simply summon new payloads out of thin air.