1) if we end up nesting with entities (and stuff like indexes, and relationships), 
     we will end up with a very deeply nested array which could be very easy to mess up.

I like Barry's idea as a whole, but when I saw several levels of brackets nested, I was a bit taken aback.
Not only easy to mess up, but hard to read, understand and maintain.

So I agree with Adrian on this.

Which leads to what Adrain said:

3) easier to debug. nuff said.