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