useGgxNamesOnTypeGraph :: Map String Text -> TypeGraph -> TypeGraph
useGgxNamesOnTypeGraph names graph = TypeGraph.fromNodesAndEdges
  [ Node n (makeInfo n) | Node n _ <- TypeGraph.nodes graph ]
  [ Edge e s t (makeInfo e) | Edge e s t _ <- TypeGraph.edges graph ]
  where makeInfo id = Just $ Metadata (Map.lookup ("I" ++ show id) names) Nothing
useGgxNamesOnTypeGraph :: Map String Text -> TypeGraph -> TypeGraph
useGgxNamesOnTypeGraph names graph = TypeGraph.fromNodesAndEdges
  [ Node n (makeInfo n) | Node n _ <- TypeGraph.nodes graph ]
  [ Edge e s t (makeInfo e) | Edge e s t _ <- TypeGraph.edges graph ]
  where makeInfo id = Just $ Metadata (Map.lookup ("I" ++ show id) names) Nothing
useGgxNamesOnTypeGraph names graph = TypeGraph.fromNodesAndEdges
  [ Node n (makeInfo n) | Node n _ <- TypeGraph.nodes graph ]
  [ Edge e s t (makeInfo e) | Edge e s t _ <- TypeGraph.edges graph ]
  where makeInfo id = Just $ Metadata (Map.lookup ("I" ++ show id) names) Nothing