Pre-RFC: Anonymous variant types

But how do you have the variants also be "variadic"?

I'm not sure I find the indexed (...)::0 solution particularly understandable, no. I suggested an alternative route more akin to enums and specifically similar to how pattern matching works:

type Foo = Bar | Bar(u8, f32) | Quux { field: String };

(This is intended to make you think of or-patterns / disjunctions => enums)