boost::proto::functional::pop_front::result<This(Expr)>
template<typename This, typename Expr> struct result<This(Expr)> : fusion::result_of::pop_front< typename boost::remove_reference< Expr >::type const > { };