class_docstr: Describe all the information required to apply a patch.
  
  Attributes
  ----------
  destination : obj
      Patch destination.
  name : str
      Name of the attribute at the destination.
  obj : obj
      Attribute value.
  settings : gorilla.Settings or None
      Settings. If ``None``, the default settings are used.
  
  Warning
  -------
  It is highly recommended to use the output of the function
  :func:`get_attribute` for setting the attribute :attr:`obj`. This will
  ensure that the descriptor protocol is bypassed instead of possibly
  retrieving attributes invalid for patching, such as bound methods.
code: def __hash__(self):  # pylint: disable=useless-super-delegation
      return super().__hash__()
  
imports: import collections
  import copy
  import inspect
  import logging
  import pkgutil
  import sys
  import types
label_desc: Use image node_id 5 for calling the Patch obj's underlying member method code with example usage: obj.__hash__() and returns: super