typedef typename BinaryReturn<RComplex<T2>, RComplex<T3>, FnWhere>::Type_t  Ret_t;   return Ret_t(where(a.elem(), b.real(), c.real()), where(a.elem(), b.imag(), c.imag()));
return where(a.elem(), b.elem(), c.elem());
where(const RScalar<T1>& a, const RComplex<T2>& b, const RComplex<T3>& c){  typedef typename BinaryReturn<RComplex<T2>, RComplex<T3>, FnWhere>::Type_t  Ret_t;  // Not optimal - want to have where outside assignment  return Ret_t(where(a.elem(), b.real(), c.real()),	       where(a.elem(), b.imag(), c.imag()));}