-- | Creates an inclusion, that is, maps nodes and edges according to their identifiers.
--
-- The behaviour is undefined if the domain is not a subgraph of the codomain.
makeInclusion :: TypedGraph a b -> TypedGraph a b -> TypedGraphMorphism a b
makeInclusion g1 g2 =
  fromGraphsAndLists g1 g2
    [ (n, n) | n <- nodeIds g1 ]
    [ (e, e) | e <- edgeIds g1 ]
makeInclusion :: TypedGraph a b -> TypedGraph a b -> TypedGraphMorphism a b
makeInclusion g1 g2 =
  fromGraphsAndLists g1 g2
    [ (n, n) | n <- nodeIds g1 ]
    [ (e, e) | e <- edgeIds g1 ]
makeInclusion g1 g2 =
  fromGraphsAndLists g1 g2
    [ (n, n) | n <- nodeIds g1 ]
    [ (e, e) | e <- edgeIds g1 ]