 /// Implements the majority of Dijkstra's algorithm in terms of BreadthFirstSearch.
 private struct DijkstraBFSVisitor<
 	SearchSpace: IncidenceGraph & VertexListGraph,
-	Distance: GraphDistanceMeasure,
+	PathLength: GraphDistanceMeasure,
 	EdgeWeightMap: GraphEdgePropertyMap,
 	VertexDistanceMap: MutableGraphVertexPropertyMap,
 	Visitor: DijkstraVisitor

	}

	public mutating func discover(vertex: SearchSpace.VertexId, _ graph: inout Graph) throws {
		queue.add(vertex, with: Distance.effectiveInfinity)  // Add to the back of the queue.
		try visitor.discover(vertex: vertex, &graph)
	}


where
	SearchSpace.VertexId: IdIndexable,
	EdgeWeightMap.Graph == SearchSpace,
	EdgeWeightMap.Value == PathLength,
	VertexDistanceMap.Graph == SearchSpace,
	VertexDistanceMap.Value == PathLength,
	Visitor.Graph == SearchSpace
{
	/// The graph we're operating on is `SearchSpace`.
