xxx: %apiname% должен использоваться только для io в рамках одного бинарника
yyy: А шаблоны в C++ не должны использовать как тьюринг-полный язык. Кого и когда это останавливало?