makeAndHashArchiveFromMap = async (
  powers,
  compartmentMap,
  options,
) => {
  const { compartmentMapBytes, sources, sha512 } = await digestFromMap(
    powers,
    compartmentMap,
    options,
  );

  const archive = writeZip();
  await archive.write('compartment-map.json', compartmentMapBytes);
  await addSourcesToArchive(archive, sources);
  const bytes = await archive.snapshot();

  return { bytes, sha512 };
}
@param {ReadFn | ReadPowers} powers
@param {CompartmentMapDescriptor} compartmentMap
@param {ArchiveLiteOptions} [options]
@returns {Promise<{bytes: Uint8Array, sha512?: string}>}