typename UnaryReturn<OScalar<T>, FnSum>::Type_t  d;
typename UnaryReturn<OLattice<T>, FnSum>::Type_t  d;
sum(const QDPExpr<RHS,OScalar<T> >& s1){  typename UnaryReturn<OScalar<T>, FnSum>::Type_t  d;  evaluate(d,OpAssign(),s1);   // since OScalar, no global sum needed  return d;}