The question has risen recently of the absence in Angular (even among known third-party modules) of a way to substitute, for translation purposes, a piece of DOM in a templace with another - with a potentially slightly different structure.
Use case :
// original (english)
<p>I do <b class="angry">not</b> want that.</p>
// translation (french)
<p>Je <b class="angry">ne</b> veux <b class="angry">pas</b> ça.</p>
// notice how there are two <b> now
In my experience (translating dialogue-heavy video games), it is necessary to have flexibility when it comes to structure, when translating, whether you're considering a document-style script like HTML, or a sequential imperative script like in video games.