docs: def req_cycle(req):
      """is this requirement cyclic?"""
      cls = req.__class__
      seen = {req.name}
      while isinstance(req.comes_from, cls):
          req = req.comes_from
          if req.name in seen:
              return True
          else:
              seen.add(req.name)
      return False