Actually I tried to adapt my DiffereneceOperator type to Proto
as Proto Users Guide explains in "Adapting Existing Types to Proto".
http://www.boost.org/doc/libs/1_57_0/doc/html/proto/users_guide.html#boost_proto.users_guide.front_end.define_operators
And I wondered when it is necessary to write a code such like
calculator< proto::terminal< placeholder<0> >::type > const _1;
in"The extends< > Expression Wrapper".
http://www.boost.org/doc/libs/1_57_0/doc/html/proto/users_guide.html#boost_proto.users_guide.front_end.customizing_expressions_in_your_domain.extends
Wishing you a merry Christmas,
Masa