docs: def cat(*wizards):
      """A higher-order wizard which is the concatenation of a number of other
      wizards.
  
      The resulting data is the union of all wizard outputs.
      """
      data = {}
  
      for wizard in wizards:
          try:
              response = None
              while True:
                  response = yield wizard.send(response)
          except Success as s:
              data.update(s.data)
  
      raise Success(data)