code: func (w *Walker) edgeParts(e Edge) (Vertex, Vertex) {
  	if w.Reverse {
  		return e.Source(), e.Target()
  	}
  
  	return e.Target(), e.Source()
  }
docs: // edgeParts returns the waiter and the dependency, in that order.
  // The waiter is waiting on the dependency.