public static WeightedGraph <TValue, TWeight> .Vertex AddCyclicNeighbor <TWeight, TValue>(this WeightedGraph <TValue, TWeight> .Vertex self, TWeight weight, TValue value) where TWeight : struct, IWeight { var neighbor = self.AddNeighbor(weight, value); neighbor.AddNeighbor(weight, self.Value); return(neighbor); }