Since C# 3.0 we’ve had a similar facility in C#. This means an opportunity for another war.
I’ve started to see little object initialisation trees appearing in my code, and they start to look like a declarative internal DSL. I should post a real example some time. Anyway, this can only mean one thing: we need a snappy name for these things.