-- | the edge types (share strings to avoid typos)
createEdgeTypes :: GInfo -> [(DGEdgeType, DaVinciArcTypeParms GA.EdgeValue)]
createEdgeTypes gi =
  map (\ (title, look, color, hasCons) ->
        (title, look
          $$$ Color color
          $$$ (if hasCons then createEdgeMenuConsEdge gi
                else createEdgeMenu gi)
          $$$ (if hasCons then createMenuValueTitleShowConservativity
                $$$ emptyArcTypeParms :: DaVinciArcTypeParms GA.EdgeValue
                else emptyArcTypeParms :: DaVinciArcTypeParms GA.EdgeValue))
      ) $ edgeTypes $ hetcatsOpts gi
createEdgeTypes :: GInfo -> [(DGEdgeType, DaVinciArcTypeParms GA.EdgeValue)]
createEdgeTypes gi =
  map (\ (title, look, color, hasCons) ->
        (title, look
          $$$ Color color
          $$$ (if hasCons then createEdgeMenuConsEdge gi
                else createEdgeMenu gi)
          $$$ (if hasCons then createMenuValueTitleShowConservativity
                $$$ emptyArcTypeParms :: DaVinciArcTypeParms GA.EdgeValue
                else emptyArcTypeParms :: DaVinciArcTypeParms GA.EdgeValue))
      ) $ edgeTypes $ hetcatsOpts gi
createEdgeTypes gi =
  map (\ (title, look, color, hasCons) ->
        (title, look
          $$$ Color color
          $$$ (if hasCons then createEdgeMenuConsEdge gi
                else createEdgeMenu gi)
          $$$ (if hasCons then createMenuValueTitleShowConservativity
                $$$ emptyArcTypeParms :: DaVinciArcTypeParms GA.EdgeValue
                else emptyArcTypeParms :: DaVinciArcTypeParms GA.EdgeValue))
      ) $ edgeTypes $ hetcatsOpts gi