Como chamar a substituição de string de modelo es6 nativa da função tag?

Estou escrevendo uma função de tag es6 para literais de modelo, que primeiro verifica uma condição na string e, se a condição não for encontrada, apenas interpreta o literal de modelo como se não estivesse marcado. Estou curioso para saber se, a partir da minha função de tag, existe uma maneira de chamar a função literal do modelo nativo do navegador (que eu assumo que seria mais rápida do queminha própria função implementada) Bonue: Com isso, não poderia haver uma oportunidade para a composição de tags, por exemplo, htmlEscape (unindentfoobar);

por exemplo.

function dumbTag(strs, ...vals) {
    vals = vals.map((val,i) =>
            (i % 2 == 0 ? 'even:' : 'odd:')+val);
    return String.template(strs, ...vals);
}

minha própria função implementada - existe uma maneira / maneira mais rápida de chamar o que o navegador faz?

function template(strs, ...vals) {
    let result = strs[0];
    for (let [i,val] of vals.entries()) {
        result += val;
        result += strs[i+1];
    }
    return result;
}

questionAnswers(2)

yourAnswerToTheQuestion