setEdgePropertyE :: Key -> Value -> Edge -> GS Edge
setEdgePropertyE k v e = if k `elem` edgeKeyBlacklist then return e else saveEdge newEdge
    where
        newEdge  = alterEdgeProperties (M.insert k v $ edgeProperties e) e
setEdgePropertyE :: Key -> Value -> Edge -> GS Edge
setEdgePropertyE k v e = if k `elem` edgeKeyBlacklist then return e else saveEdge newEdge
    where
        newEdge  = alterEdgeProperties (M.insert k v $ edgeProperties e) e
setEdgePropertyE k v e = if k `elem` edgeKeyBlacklist then return e else saveEdge newEdge
    where
        newEdge  = alterEdgeProperties (M.insert k v $ edgeProperties e) e