pub fn project_edges<M>(graph: &Graph, mapper: M) -> ProjectedGraphExpand description
Relabels raw graph edges and cumulates equal projected endpoint pairs.
Each returned ProjectedEdge owns the raw edges it represents, preserving concrete evidence
for later violation messages. Results are ordered by projected (source_label, target_label).