== getElementsByTagName needs to be clearer on when the same object
can or can't be returned ==
In particular, it looks to me like at call-time the
`getElementsByTagName` call captures the HTML-ness of _root_'s node
document at the time it's called. So if that HTML-ness changes, a new
object needs to be returned.