docs: def peer_store_and_set(relation_id=None, peer_relation_name='cluster',
                         peer_store_fatal=False, relation_settings=None,
                         delimiter='_', **kwargs):
      """Store passed-in arguments both in argument relation and in peer storage.
  
      It functions like doing relation_set() and peer_store() at the same time,
      with the same data.
  
      @param relation_id: the id of the relation to store the data on. Defaults
                          to the current relation.
      @param peer_store_fatal: Set to True, the function will raise an exception
                               should the peer sotrage not be avialable."""
  
      relation_settings = relation_settings if relation_settings else {}
      relation_set(relation_id=relation_id,
                   relation_settings=relation_settings,
                   **kwargs)
      if is_relation_made(peer_relation_name):
          for key, value in six.iteritems(dict(list(kwargs.items()) +
                                               list(relation_settings.items()))):
              key_prefix = relation_id or current_relation_id()
              peer_store(key_prefix + delimiter + key,
                         value,
                         relation_name=peer_relation_name)
      else:
          if peer_store_fatal:
              raise ValueError('Unable to detect '
                               'peer relation {}'.format(peer_relation_name))