Может пригодится, конечно, кому.... но костыли это всё. С++ добрался до Паскаля  
 
    { Global variable x is 6 }
  log<<'Global variable x is '<< x <<endl;
  log<<'Gobal variable m is '<< m <<endl;
  log<<'test: ' + 1.6 + '; ' + r + '; ' + m + endl;
Заключение
Использование exStrings в теории должно повысить эффективность программирования. Сравним
  // Старый вариант
s:='a = ' + IntToStr(a) + '; b = ' + FloatToStr(b)
  + '; c = ' + BolToStr(c, true);
 
  // Продвинутый вариант
s:=asString(['a = ', a, '; b = ', b, 'c = ', c]);
Также, если вы измените тип a с integer на real в данном примере, то в первом варианте придётся заменить IntToStr на FloatToStr. Во продвинутом варианте замена не нужна 
по мне дык таже функция Format, конечно в шаблоне типы нужно учитывать