> // these don't work - why?
> // auto b = [new B, new C];
> // auto c = { return [1: new B,2: new C]; };
That seems to be just a matter of improving the compiler to make it
find the common type. I don't think there's anything in the language
stopping that from working.