Fix broken indexes on remove.
Notice that removeChild removes the index,
so updateIndexes will always get undefined as
the 'from' parameter. As a consequence,
the indexes never get updated on remove.
This can be reproduced in the following way:
remove the 0th element from a collection,
this will cause the index go inconsistent,
and consequent removals will lead
to a broken state.
This is a trivial fix that I tested
to fix the problem in my use case.