docs: def update(self, other=None, **kwargs):
          """
          A special update method to handle merging of dict objects. For all
          other iterable objects, we use the parent class update method. For
          other objects, we simply make use of the internal merging logic.
  
          :param other: An iterable object.
          :type other: dict or object
          :param kwargs: key/value pairs to update.
          :rtype: None
          """
          if other is not None:
              if isinstance(other, dict):
                  for key in other:
                      self[key] = other[key]
              else:
                  # noinspection PyTypeChecker
                  super(MergingDict, self).update(other)
  
          for key in kwargs:
              self._merge(key, kwargs[key])