function getChanges(backend, haveDeps) {
  if (!Array.isArray(haveDeps)) {
    throw new TypeError('Pass an array of hashes to Backend.getChanges()')
  }
  return backendState(backend).getChanges(haveDeps)
}
Returns all changes that are newer than or concurrent to the changes
identified by the hashes in `haveDeps`. If `haveDeps` is an empty array, all
changes are returned. Throws an exception if any of the given hashes is unknown.