boost::proto::functional::left::result<This(Expr)>
template<typename This, typename Expr> struct result<This(Expr)> : proto::result_of::left< Expr > { };