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