I found an example showing that a dictionary can be initialised as follows:

```
Dictionary<string, int> d = new Dictionary<string, int>()
{
    {"cat", 2},
    {"dog", 1},
    {"llama", 0},
    {"iguana", -1}
};

```

I don't understand how the syntax `{"cat", 2}` is valid for creating a Key-Value Pair. Collection initialisation syntax seems to be of the form `new MyObjType(){}`, while anonymous objects are of the form `{a="a", b="b"}`. What is actually happening here?