code: function patchURIs (rdf, web, diffMap) {
    const urisToPatch = Object.keys(diffMap)
    return Promise.all(
      urisToPatch.map(uri => {
        return web
          .patch(uri, diffMap[uri].toDel, diffMap[uri].toIns)
          .then(solidResponse => ({URI: solidResponse.url, succeeded: true}))
          .catch(solidResponse => ({URI: solidResponse.url, succeeded: false}))
      }))
      .then(sourceResults => {
        return new Set(
          sourceResults
            .filter(result => result.succeeded)
            .map(result => result.URI)
        )
      })
  }
docs: Given a diff map (from Model.diff), patch each resource in the diff map using
  the web client's patch method.  Return a Promise which resolves to the set of
  URIs which were successfully patched.  Note that the Promise does not reject;
  if some resources failed to be patched, they're not included in the URI set.
  
  @param {Object} rdf - An RDF library, currently assumed to be rdflib.js.
  @param {Object} web - A web client library, currently assumed to be
  @param {Object} diffMap - The result of running Model.diff() on a model.
  @returns {Promise<Set<String>>} A Promise which always resolves to the set of
  URIs for which the patches succeeded.