docs: function rmCommonWS(strings) {
      // As `strings[]` is an array of strings, each potentially consisting
      // of multiple lines, followed by one(1) value, we have to split each
      // individual string into lines to keep that bit of information intact.
      // 
      // We assume clean code style, hence no random mix of tabs and spaces, so every
      // line MUST have the same indent style as all others, so `length` of indent
      // should suffice, but the way we coded this is stricter checking as we look
      // for the *exact* indenting=leading whitespace in each line.
      var indent_str = null;
      var src = strings.map(function splitIntoLines(s) {
          var a = s.split('\n');
  
          indent_str = a.reduce(function analyzeLine(indent_str, line, index) {
              // only check indentation of parts which follow a NEWLINE:
              if (index !== 0) {
                  var m = /^(\s*)\S/.exec(line);
                  // only non-empty ~ content-carrying lines matter re common indent calculus:
                  if (m) {
                      if (!indent_str) {
                          indent_str = m[1];
                      } else if (m[1].length < indent_str.length) {
                          indent_str = m[1];
                      }
                  }
              }
              return indent_str;
          }, indent_str);
  
          return a;
      });
  
      // Also note: due to the way we format the template strings in our sourcecode,
      // the last line in the entire template must be empty when it has ANY trailing
      // whitespace:
      var a = src[src.length - 1];
      a[a.length - 1] = a[a.length - 1].replace(/\s+$/, '');
  
      // Done removing common indentation.
      // 
      // Process template string partials now, but only when there's
      // some actual UNindenting to do:
      if (indent_str) {
          for (var i = 0, len = src.length; i < len; i++) {
              var a = src[i];
              // only correct indentation at start of line, i.e. only check for
              // the indent after every NEWLINE ==> start at j=1 rather than j=0
              for (var j = 1, linecnt = a.length; j < linecnt; j++) {
                  if (startsWith(a[j], indent_str)) {
                      a[j] = a[j].substr(indent_str.length);
                  }
              }
          }
      }
  
      // now merge everything to construct the template result:
      var rv = [];
  
      for (var _len = arguments.length, values = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
          values[_key - 1] = arguments[_key];
      }
  
      for (var i = 0, len = values.length; i < len; i++) {
          rv.push(src[i].join('\n'));
          rv.push(values[i]);
      }
      // the last value is always followed by a last template string partial:
      rv.push(src[i].join('\n'));
  
      var sv = rv.join('');
      return sv;
  }