* arrays inside a struct turn the struct itself into an array, while its items become just single item values
* if a struct contains no arrays, then the struct shall not become an array - that is, a struct generates an array with as many elements as the largest element in the struct itself
* there are as many of any one struct as the size of the largest array inside it
* nested structs get duplicated in every outer struct they are part of; in the example above E has as many elements as there items in F (2, the largest between F and G), and the whole array of E is duplicated in every element of B