code: def search_enum(args, page_size: 100, additional_headers: {})
        Enumerator.new do |yielder|
          (0..Float::INFINITY).step(page_size).each do |index|
            search_params = args.merge(start: index.to_i, count: page_size)
            results = search(search_params, additional_headers).to_h.fetch('results', [])
            results.each do |result|
              yielder << result
            end
            if results.count < page_size
              break
            end
          end
        end
      end
docs: Perform a search, returning the results as an enumerator.
  
   The enumerator abstracts away search-api's pagination and fetches new pages when
   necessary.
  
   @param args [Hash] A valid search query. See search-api documentation for options.
   @param page_size [Integer] Number of results in each page.
  
   @see https://github.com/alphagov/search-api/blob/master/doc/search-api.md