This patch is supposed to address the issue that we don't evaluate arrays if the contain non POD types.
The idea is to record the index of the current element being constructed, and keep calling the constructor
in a loop until we construct every element.
I suppose "parameter" instead of "property" would be better?