code: func bumpWeight(from, to *node, w int64, residual bool) {
  	if from.out[to] != to.in[from] {
  		panic(fmt.Errorf("asymmetric edges %v %v", *from, *to))
  	}
  
  	if n := from.out[to]; n != nil {
  		n.weight += w
  		if n.residual && !residual {
  			n.residual = false
  		}
  		return
  	}
  
  	info := &edgeInfo{src: from, dest: to, weight: w, residual: residual}
  	from.out[to] = info
  	to.in[from] = info
  }
docs: // bumpWeight increases the weight of an edge. If there isn't such an
  // edge in the map one is created.