code: def _tarjan_body(ctx, it, v):
          
          for w in it:
                  if w not in ctx.index:
                          ctx.T.append((it,True,v,w))
                          _tarjan_head(ctx, w)
                          return
                  if w in ctx.S_set:
                          ctx.lowlink[v] = min(ctx.lowlink[v], ctx.index[w])
          if ctx.lowlink[v] == ctx.index[v]:
                  scc = []
                  w = None
                  while v != w:
                          w = ctx.S.pop()
                          scc.append(w)
                          ctx.S_set.remove(w)
                  ctx.ret.append(scc)
docs: Used by @tarjan and @tarjan_iter.  This is the body of the
              main iteration