typename UnaryReturn<ILattice<T,N>, FnLocalNorm2>::Type_t  d;  d.elem() = localNorm2(s1.elem(0)); for(int i=1; i < N; ++i) d.elem() += localNorm2(s1.elem(i));  return d;
return localNorm2(s1.elem());
localNorm2(const ILattice<T,N>& s1){  typename UnaryReturn<ILattice<T,N>, FnLocalNorm2>::Type_t  d;  d.elem() = localNorm2(s1.elem(0));  for(int i=1; i < N; ++i)    d.elem() += localNorm2(s1.elem(i));  return d;}