-- | Combining a search function with an operation on nodes
fromSearchResult :: (DevGraphNavigator a) =>
                    (a -> Maybe (a, LNode DGNodeLab))
                        -> (a -> Node -> b) -> a -> Maybe b
fromSearchResult sf f dgnav = case sf dgnav of
                                Just (dgn', (n, _)) -> Just $ f dgn' n
                                _ -> Nothing

-- * Other utils
fromSearchResult :: (DevGraphNavigator a) =>
                    (a -> Maybe (a, LNode DGNodeLab))
                        -> (a -> Node -> b) -> a -> Maybe b
fromSearchResult sf f dgnav = case sf dgnav of
                                Just (dgn', (n, _)) -> Just $ f dgn' n
                                _ -> Nothing

-- * Other utils
fromSearchResult sf f dgnav = case sf dgnav of
                                Just (dgn', (n, _)) -> Just $ f dgn' n
                                _ -> Nothing

-- * Other utils