The help files are particularly opaque when it comes to nested dictionaries. The "hierarchy" tab shows only how to use sub-dicts if you explicitly know all the values to put in a simple message. But in any real application, this data is going to be compiled from different sources. For arrays of [dict] the help file only shows retrieval, not how to intelligently get data into the structure in the first place.
You can use [dict] in two ways: with or without field names. Without a name for each data field, you have a simple array with a top level key. Working with these is easy, but it's the same as using [coll], near as I can tell.
With named fields you have a structured JSON hierarchy. You also have a headache, since the docs abandon you to the elements.