How to use algoliasearchHelper for multiquerying

We are in a situation trying to use both multiquery and disjunctive faceting. My understanding is that algoliasearchHelper’s way of handling multiquerying is to use derive but I’m unable to find any working examples of it. What I am trying to do is (pared-down code):

    const searchHelper = algoliasearchHelper(searchClient, 'allProducts', {
         disjunctiveFacets: ['partner', 'subject'],
         facets: ['productType'],
     });
    const forceOneTimeSearch = () => {
        // myQuery, myRefinements, and activeTab are React state variables. We don't want to control them through the helper for various reasons
        searchHelper.setQuery(myQuery);
        searchHelper.setRefinements(myRefinements);
       // if we're on the 'all' tab, search both Courses and Programs but keep them separate
       if (activeTab === 'all')  {
           const derived = searchHelper.derive((oldParams) => {/*somehow add productType: 'Course' to derived params*/}
           searchHelper.addFacetRefinement('productType', 'Program')
          /* do something with derived and searchHelper such that I get one list of results with productType: Course and one list with productType: Program */
       }
    }