что характерно, сами лексические парсеры по жизни на DSL
Но это только с compile time строками соответственно. Теоретически это может быть развитием format, если отделить например то что есть от такого варианта tag-dispatch. И там уж требовать formatter<T, fmt::tag<"bytes">>. Сложно, реально проще в bytes завернуть аргумент :) или вообще тип bytes_size_t