It's really strange that we need to provide all the fields to create the union. Isn't it the whole point behind unions that only one of the fields is actually needed?
You don't need to provide all the fields. Fewer will do, with implied zero padding, as in C. But yes, since right now I haven't implemented named fields for compound literals, union compound literals are not terribly useful. It's not a reflection of a language issue, just the fact that named fields for compound literals haven't been implemented. I'll do it right now...