Tag tokens are appended to text nodes. Seems like the emitter should get to handle tags separately from text so we should fix this.