boost::proto::negate::impl
template<typename Expr, typename State, typename Data> struct impl : proto::pass_through<negate>::template impl<Expr, State, Data> { };