#38 made sure that edges were evaluated. It might be better to use fa, fx, fb to set `(v,fv)), `(w,fw)`, and fx instead of only x and fx.