imag(const RScalar<T>& s1) { typename UnaryReturn<RScalar<T>, FnImag>::Type_t  d;  zero_rep(d.elem()); return d; }
const T& imag() const {return im;}
imag(const RScalar<T>& s1){  typename UnaryReturn<RScalar<T>, FnImag>::Type_t  d;  zero_rep(d.elem());  return d;}