docs: def mutable_hash(self, obj_hash=None):
          """Creates a hash with the (im)mutable data fields of the object
  
          Example:
              >>> my_obj = type("MyDerivedClass", (Hashable,), { "update_hash": lambda self, h: h.update("RAFCON") })()
              >>> my_obj_hash = my_obj.mutable_hash()
              >>> print('Hash: ' + my_obj_hash.hexdigest())
              Hash: c8b2e32dcb31c5282e4b9dbc6a9975b65bf59cd80a7cee66d195e320484df5c6
  
          :param obj_hash: The hash object (see Python hashlib)
          :return: The updated hash object
          """
          if obj_hash is None:
              obj_hash = hashlib.sha256()
          self.update_hash(obj_hash)
          return obj_hash