boost::mpl::accumulate や fold のネストはどうやったら実装できますか。

namespace mpl=boost::mpl;

typedef mpl::vector<mpl::int_<1>,mpl::int_<1>,mpl::int_<1>,mpl::int_<1>> vec1;
typedef mpl::vector<mpl::int_<2>,mpl::int_<2>,mpl::int_<2>,mpl::int_<2>> vec2;
typedef mpl::vector<mpl::int_<3>,mpl::int_<3>,mpl::int_<3>,mpl::int_<3>> vec3;
typedef mpl::vector<vec1,vec2,vec3> vvec;

typedef typename mpl::lambda
        <mpl::accumulate
            <mpl::_1 ,mpl::int_<0> ,mpl::plus<mpl::_1,mpl::_2> >
        >::type lam;

typedef typename mpl::accumulate
    <vvec
    ,mpl::int_<0>
    ,mpl::plus<mpl::_1,lam::template apply<mpl::_2>::type>
    >::type result;

このコードはコンパイルが通りませんでした。