typename BinaryReturn<IScalar<T1>, ILattice<T2,N>, OpLT>::Type_t  d;  for(int i=0; i < N; ++i) d.elem(i) = l.elem() < r.elem(i); return d;
return l.elem() < r.elem();
operator<(const IScalar<T1>& l, const ILattice<T2,N>& r){  typename BinaryReturn<IScalar<T1>, ILattice<T2,N>, OpLT>::Type_t  d;  for(int i=0; i < N; ++i)    d.elem(i) = l.elem() < r.elem(i);  return d;}