boost::proto::_byval::result<This(T &)>
template<typename This, typename T> struct result<This(T &)> : result<This(T)> { };