boost::proto::generator::result<This(Expr)>
template<typename This, typename Expr> struct result<This(Expr)> { // types typedef Extends< Expr > type; };