About this literal delegate syntax, there seems to be an ambiguity: void delegate() foo = { }; // Thinks it's a struct initializer. void delegate() foo = ( { } ); // Workaround.