adjust the hierarchy of the Graph.
there is a double-to-unsigned conversion when using a GeometricalGraph to construct a UndirectedGraph. Maybe make the type Distance as a template argument is a solution.
error happens when templatizing Graph.
use inclusive model for Graph template.