upperLevel :: (Ord a, Ord c) => DepGraph a b c -> Set.Set a -> Set.Set c
upperLevel gr = maybeSetUnions . Set.map f where
    f a = fmap g $ Map.lookup a $ dataMap gr
    g (_, _, dps) = dps
upperLevel :: (Ord a, Ord c) => DepGraph a b c -> Set.Set a -> Set.Set c
upperLevel gr = maybeSetUnions . Set.map f where
    f a = fmap g $ Map.lookup a $ dataMap gr
    g (_, _, dps) = dps
upperLevel gr = maybeSetUnions . Set.map f where
    f a = fmap g $ Map.lookup a $ dataMap gr
    g (_, _, dps) = dps