code: function upgrade(template) {
    const type = OWNER_SVG_ELEMENT in this ? 'svg' : 'html';
    const tagger = new Tagger(type);
    bewitched.set(this, {tagger, template: template});
    this.textContent = '';
    this.appendChild(tagger.apply(null, arguments));
  }
docs: an upgrade is in charge of collecting template info, parse it once, if unknown, to map all interpolations as single DOM callbacks, relate such template to the current context, and render it after cleaning the context up