runCompilers = callback => {
			if (remainingCompilers.length === 0) return callback(null);
			asyncLib.map(
				getReadyCompilers(),
				(compiler, callback) => {
					fn(compiler, err => {
						if (err) return callback(err);
						fulfilledNames.add(compiler.name);
						runCompilers(callback);
					});
				},
				(err, results) => {
					callback(err, /** @type {TODO} */ (results));
				}
			);
		}
@param {Callback<MultiStats>} callback callback
@returns {void}