boost::proto::protect::impl
template<typename , typename , typename > struct impl { // types typedef PrimitiveTransform result_type; };