class_docstr: Abstract base class to add two operators.
  
  Each `Adder` acts independently, adding everything it can, paying no attention
  as to whether another `Adder` could have done the addition more efficiently.
code: def _add(self, op1, op2, operator_name, hints):
      # Derived classes can assume op1 and op2 have been validated, e.g. they have
      # the same dtype, and their domain/range dimensions match.
      pass
  
imports: import abc
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import check_ops
  from tensorflow.python.ops.linalg import linear_operator
  from tensorflow.python.ops.linalg import linear_operator_diag
  from tensorflow.python.ops.linalg import linear_operator_full_matrix
  from tensorflow.python.ops.linalg import linear_operator_identity
  from tensorflow.python.ops.linalg import linear_operator_lower_triangular
label_desc: Use image node_id 3 for calling the _Adder obj's underlying member method code with example usage: obj._add(op1, op2, operator_name, hints) without return types