docs: def dump_to_store(dataset, store, writer=None, encoder=None,
                    encoding=None, unlimited_dims=None):
      """Store dataset contents to a backends.*DataStore object."""
      if writer is None:
          writer = ArrayWriter()
  
      if encoding is None:
          encoding = {}
  
      variables, attrs = conventions.encode_dataset_coordinates(dataset)
  
      check_encoding = set()
      for k, enc in encoding.items():
          # no need to shallow copy the variable again; that already happened
          # in encode_dataset_coordinates
          variables[k].encoding = enc
          check_encoding.add(k)
  
      if encoder:
          variables, attrs = encoder(variables, attrs)
  
      store.store(variables, attrs, check_encoding, writer,
                  unlimited_dims=unlimited_dims)