code: func isRedundant(e *edgeInfo) bool {
  	destPred := predecessors(e, e.dest)
  	if len(destPred) == 1 {
  		return false
  	}
  	srcPred := predecessors(e, e.src)
  
  	for n := range srcPred {
  		if destPred[n] && n != e.dest {
  			return true
  		}
  	}
  	return false
  }
docs: // isRedundant determines if an edge can be removed without impacting
  // connectivity of the whole graph. This is implemented by checking if the
  // nodes have a common ancestor after removing the edge.