Instead of this, you can avoid having to propagate `child_index` everywhere by building an intermediate object for each child and iterating over that.  That implies that each object in `@sheet.children` would contain all information for that child; you wouldn't have to dereference anything.