How to run closeness centrality for graphs with multiple node types?

Closeness centrality does not seem to work with a graph (projected) that has more than one node types.

When I run the code below for a subgraph with one node type I get results as expected. But running closeness on a projected subgraph with two node types returns closeness centrality 0.

'MATCH (g:Graph {_id: "412903bb-28a8-44c9..."})-[:NODES]->(n:Node)
RETURN id(n) as id',
'MATCH (g:Graph {_id: "412903bb-28a8-44c9..."})-[:NODES]->(n:Node)
MATCH (n)-[]->(m:Node)<-[:NODES]-(g) WHERE n <> m
RETURN id(n) as source, id(m) as target',
) YIELD nodeId, centrality
WITH algo.asNode(nodeId) as node, centrality
ORDER BY centrality
RETURN, centrality as closeness

You may have different types of nodes (like below) connected to one another, and you may want take them as the same type for calculation purposes. Why does the graph projection take node types into consideration anyway?

Engineer -Collaborated-> Designer
Designer -Collaborated-> Architect
Architect -Collaborated-> Writer
Writer -Collaborated-> Designer

Is there a way to calculate closeness on graphs with multiple node types?

Think of a common "super" label for both your :Graph and :Node nodes and assign an this extra label to both the node types.