docs: def acquire_resources(self, source):
          """
          Store the resources returned by ``source()``. If ``source`` has
          been acquired before, it will not be called a second time.
  
          Args:
              source (callable): A function that returns a resource or a
                  list of resources.
  
          Returns:
              None
          """
          if source not in self.consulted:
              self.consulted.add(source)
              if isinstance(source, Tag):
                  res = source
              else:
                  res = source(self.H)
              if res is None:
                  res = set()
              elif isinstance(res, (list, tuple)):
                  res = set(res)
              elif isinstance(res, Tag):
                  res = {res}
              self.resources |= res