function decodeChanges(binaryChanges) {
  let decoded = []
  for (let binaryChange of binaryChanges) {
    for (let chunk of splitContainers(binaryChange)) {
      if (chunk[8] === CHUNK_TYPE_DOCUMENT) {
        decoded = decoded.concat(decodeDocument(chunk))
      } else if (
        chunk[8] === CHUNK_TYPE_CHANGE ||
        chunk[8] === CHUNK_TYPE_DEFLATE
      ) {
        decoded.push(decodeChange(chunk))
      } else {
        // ignoring chunk of unknown type
      }
    }
  }
  return decoded
}
Decodes a list of changes from the binary format into JS objects.
`binaryChanges` is an array of `Uint8Array` objects.