adjoin: реализация оператора () без псевдо-рекурсии.
Шаблон вспомогательного базового класса для бинарных операторов, который выражает общую реализацию и частичные специализации через прозрачный функциональный объект. Этот шаблон уже использован в существующих классах функциональных объектов.