Quais são os benefícios do uso do Boost.Phoenix?

Não consigo entender quais são os reais benefícios do uso do Boost.Phoenix.

Quando eu o uso com gramáticas Boost.Spirit, é realmente útil:

double_[ boost::phoenix::push_back( boost::phoenix::ref( v ), _1 ) ]

Quando eu o uso para funções lambda, também é útil e elegante:

boost::range::for_each( my_string, if_ ( '\\' == arg1 ) [ arg1 = '/' ] );

Mas quais são os benefícios de tudo nesta biblioteca? A documentação diz: "Functors everywhere". Eu não entendo o que é bom disso?

questionAnswers(5)

yourAnswerToTheQuestion