setRuleOperation o E i = do (Morphism ns es) <- getCurrentRule
                            let rl = filter (not . selectAction (byElementId i)) es
                                [rc] = filter (selectAction (byElementId i)) es
                            setCurrentRule $ Morphism ns (ruleOP o rc:rl)

-- Internal functions
setRuleOperation o E i = do (Morphism ns es) <- getCurrentRule
                            let rl = filter (not . selectAction (byElementId i)) es
                                [rc] = filter (selectAction (byElementId i)) es
                            setCurrentRule $ Morphism ns (ruleOP o rc:rl)

-- Internal functions
setRuleOperation o E i = do (Morphism ns es) <- getCurrentRule
                            let rl = filter (not . selectAction (byElementId i)) es
                                [rc] = filter (selectAction (byElementId i)) es
                            setCurrentRule $ Morphism ns (ruleOP o rc:rl)

-- Internal functions