docs: async function cachingFirstRunShouldAllowEnroll(studySetup) {
    // Cached answer.  Used on 2nd run
    let allowed = await browser.storage.local.get("allowedEnrollOnFirstRun");
    if (allowed.allowedEnrollOnFirstRun === true) return true;
  
    /*
    First run, we must calculate the answer.
    If false, the study will endStudy with 'ineligible' during `setup`
    */
  
    // could have other reasons to be eligible, such add-ons, prefs
    const dataPermissions = await browser.study.getDataPermissions();
    if (studySetup.studyType === "shield") {
      allowed = dataPermissions.shield;
    }
    if (studySetup.studyType === "pioneer") {
      allowed = dataPermissions.pioneer;
    }
  
    // cache the answer
    await browser.storage.local.set({ allowedEnrollOnFirstRun: allowed });
    return allowed;
  }