_type,
                               typename E2::const_closure_type, F&gt; expression_type;
        typedef expression_type result_type;
     };

    // (v1 + v2) [i] = v1 [i] + v2 [i]
    template&lt;class E1, class E2&gt;
    typename vector_binary_traits&lt;E1, E2, scalar_plus&lt;typename E1::value_type,
                                                       typename E2::value_type&gt; &gt;::result_type
    operator + (const vector_expression&lt;E1&gt; &amp;e1,
                 const vector_expression&