docs: def get_card_bundles(provider: Provider, deck: Deck) -> Generator:
      '''get all <deck> card bundles, if they match the protocol'''
  
      bundles = find_card_bundles(provider, deck)
  
      with concurrent.futures.ThreadPoolExecutor(max_workers=2) as th:
          for result in th.map(card_bundle_parser, bundles):
              if result:
                  yield result