typedef typename BinaryReturn<RComplex<T1>, RComplex<T2>, OpAdjMultiplyAdj>::Type_t  Ret_t;
adjMultiplyAdj(const RComplex<T1>& l, const RComplex<T2>& r){  typedef typename BinaryReturn<RComplex<T1>, RComplex<T2>, OpAdjMultiplyAdj>::Type_t  Ret_t;  // The complex conjugate nature has been eaten here leaving simple multiples  // involving transposes - which are probably null//  d.real() = transpose(l.real())*transpose(r.real()) - transpose(l.imag())*transpose(r.imag());//  d.imag() = -(transpose(l.real())*transpose(r.imag()) + transpose(l.imag())*transpose(r.real()));//  return d;  /*! NOTE: removed transpose here !!!!!  */  return Ret_t(l.real()*r.real() - l.imag()*r.imag(),	       -(l.real()*r.imag() + l.imag()*r.real()));}