Currently IndexedElementsBinder checks that there are no unbound children by tracking elements as they are bound. For large property sources, this can be expensive.

If we relax the requirement and instead check a limited number of entries after the final one we can improve performance whilst still catching most errors.

For example, with a window of 10 we would still fail with the following:

list[0]=...
list[1]=...
list[6]=...

but we would now miss:

list[0]=...
list[1]=...
list[10]=...

I think this is probably fine, especially as with YAML configuration lists are unlikely to have missing elements.