Есть у меня несколько товарищей, которые постоянно увлекаются всяким новьём. То метапрограммирование изучают и лепят его везде где ни попадя, то паттерны проектирования все подряд в примитивную прогу из 5 функций впихивают... Результат вобщем-то един. Всё работает ровно до момента, когда надо что-то исправить в логике и это начинает делать другой человек. А дальше начинается адъ и израэль.
В рамках nim оператор with, конечно, помогает решать вопрос грамотно, но в С++ всё это приводит к куче нечитаемого и неисправимого говнища, особенно когда приходится сменить результат одной из ф-ций кортежа...