В итоге на вершинах велосипедостроения я достиг в хэловорде такого
Result.expect(get_message!("msg_id", name=>"Васисуалий")) для логирования конструкция ненужная, а для локализации ошибок пойдет, лучше пока не выдумывается, разбираюсь. Наверное есть какой-то православный способ это делать, но я не выдумал как это делать что бы километр не писать каждый раз.
Но вот вопрос, если у вас есть макросы с переменным числом параметров и они от вызова функции отличаются только восклицательным знаком, почему перегрузка функций это плохо? Текст фактически одинаковый, но в одном случае ты имеешь штуку в которой черт ногу сломит, а в другом нет.