Well, ideally we'd never hit the case of two adjacent text nodes - this would only be, like, `text &lt;span>whatever&lt;/span> text` would be childNodes of `["text ", "whatever", " text"]` but we only use text, br's and iframes so, yeah, just edge case crap.