execute = (moduleEnvironmentRecord, compartment, resolvedImports) => {
    const functor = compartment.evaluate(
      `(function (require, exports, module, __filename, __dirname) { 'use strict'; ${source} })\n`,
    );

    const { require, moduleExports, module, afterExecute } = wrap({
      moduleEnvironmentRecord,
      compartment,
      resolvedImports,
      location,
      readPowers,
    });

    // In CommonJS, the top-level `this` is the `module.exports` object.
    functor.call(
      moduleExports,
      require,
      moduleExports,
      module,
      filename,
      dirname,
    );

    afterExecute();
  }
@param {object} moduleEnvironmentRecord
@param {Compartment} compartment
@param {Record<string, string>} resolvedImports