Javascript Es6 Tagged Templates - Quando o Raw é usado? Quando o cozimento é usado?

Depois de estudar este exemplo de modelo de tag Es6:

var yo = func`${x} + ${y}\n= ${x + y}`;
one@public-node ~/es6 $ 6to5 tag.js 
"use strict";

var _taggedTemplateLiteral = function (strings, raw) {
  return Object.freeze(Object.defineProperties(strings, {
    raw: {
      value: Object.freeze(raw)
    }
  }));
};

var yo = func(_taggedTemplateLiteral(["", " + ", "\n= ", ""], ["", " + ", "\\n= ", ""]), x, y, x + y);

Eu vejo o que é retornado évar yo = func(strings, raw, x, y, x + y);

Eu entendo o básico sobre os literais de string e ox y valores sendo inseridos. O que eu não entendo é ... quando as strings são usadas e quando o raw é usado? Como a função possui duas matrizes e o usuário não tem controle para informar a função quando usar cru e quando usar cozido (seqüências de caracteres).

questionAnswers(1)

yourAnswerToTheQuestion