In my opinion, the content out of blocks should be ignored. Giving the layout and blocks, the child just specify the block it would like to replace, other content just inherit the layout.
If many child tpls have sth that out of block, you could define a block in the layout, then you could explicitly inherit and replace the block in child tpl.
I think maybe this way would be more clear and familiar to developers :) see also #142