}
sum(const QDPExpr<RHS,OLattice<T> >& s1, const Subset& s){  typename UnaryReturn<OLattice<T>, FnSum>::Type_t  d;  // Must initialize to zero since we do not know if the loop will be entered  zero_rep(d.elem());  const int *tab = s.siteTable().slice();  for(int j=0; j < s.numSiteTable(); ++j)   {    int i = tab[j];    d.elem() += forEach(s1, EvalLeaf1(i), OpCombine());   // SINGLE NODE VERSION FOR NOW  }  return d;}