class_docstr: This mixin class is dynamically added to an ``Adjoint`` instance if the provided base class
  is an ``Operation``.
  
  .. warning::
      This mixin class should never be initialized independent of ``Adjoint``.
  
  Overriding the dunder method ``__new__`` in ``Adjoint`` allows us to customize the creation of
  an instance and dynamically add in parent classes.
  
  .. note:: Once the ``Operation`` class does not contain any unique logic any more, this mixin
  class can be removed.
class_docstr_tok: ["This","mixin","class","is","dynamically","added","to","an","``","Adjoint","``","instance","if","the","provided","base","class","is","an","``","Operation","``",".","..","warning",":",":","This","mixin","class","should","never","be","initialized","independent","of","``","Adjoint","``",".","Overriding","the","dunder","method","``","__new__","``","in","``","Adjoint","``","allows","us","to","customize","the","creation","of","an","instance","and","dynamically","add","in","parent","classes",".","..","note",":",":","Once","the","``","Operation","``","class","does","not","contain","any","unique","logic","any","more",",","this","mixin","class","can","be","removed","."]
code: def grad_recipe(self):
      return self.base.grad_recipe
  
imports: from functools import wraps
  import pennylane
  from pennylane.math import conj, moveaxis, transpose
  from pennylane.operation import Observable, Operation, Operator
  from pennylane.queuing import QueuingManager
  from pennylane.tape import make_qscript
  from pennylane.compiler import compiler
  from pennylane.compiler.compiler import CompileError
  from .symbolicop import SymbolicOp
label_desc: Use image node_id 7 for calling the AdjointOperation obj's underlying member method code with example usage: obj.grad_recipe() and returns: self