return l.elem() * r.elem();
typedef typename BinaryReturn<RScalar<T1>, RComplex<T2>, FnOuterProduct>::Type_t  Ret_t;   return Ret_t( l.elem()*r.real(), -l.elem()*r.imag());
outerProduct(const RScalar<T1>& l, const RScalar<T2>& r){  return l.elem() * r.elem();}