docs: def append_path(self, path):
          """Append :obj:`path` onto the current path.
          The path may be either the return value from one of :meth:`copy_path`
          or :meth:`copy_path_flat` or it may be constructed manually.
  
          :param path:
              An iterable of tuples
              in the same format as returned by :meth:`copy_path`.
  
          """
          # Both objects need to stay alive
          # until after cairo.cairo_append_path() is finished, but not after.
          path, _ = _encode_path(path)
          cairo.cairo_append_path(self._pointer, path)
          self._check_status()