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