-- | Remove an edge from the domain of a typed graph morphism
removeEdgeFromCodomain :: EdgeId -> TypedGraphMorphism a b -> TypedGraphMorphism a b
removeEdgeFromCodomain e tgm =
  tgm { codomainGraph = GM.removeEdgeFromDomain e (codomainGraph tgm)
      , mapping = GM.removeEdgeFromCodomain e (mapping tgm) }
removeEdgeFromCodomain :: EdgeId -> TypedGraphMorphism a b -> TypedGraphMorphism a b
removeEdgeFromCodomain e tgm =
  tgm { codomainGraph = GM.removeEdgeFromDomain e (codomainGraph tgm)
      , mapping = GM.removeEdgeFromCodomain e (mapping tgm) }
removeEdgeFromCodomain e tgm =
  tgm { codomainGraph = GM.removeEdgeFromDomain e (codomainGraph tgm)
      , mapping = GM.removeEdgeFromCodomain e (mapping tgm) }