I use edges a lot for procedural modeling, though I keep running into the problem of duplicate and disjoint edges and I don't have a good mean of cleaning the geometry.
1. How do you clean up duplicate edges? (Two primitives that share the same points).
2. How do you join two disjoint edges (Two primitives that share the same points, but not the same verticies).