Hmm, the solution is correct but, in my view, the explanation seems to miss the main point: the main point is that, to construct an AoA, what needs to be pushed onto the larger array is not a list nor an array, but an array reference, and the sqare bruckets acts in this case as an array reference constructor.