printLeaves :: (Applicative m, MonadIO m)
            => Map PackageName (Set PackageName,Maybe Version)
            -> m ()
printLeaves = F.traverse_ printLeaf . Map.keysSet . Map.filter Set.null . fmap fst
printLeaves :: (Applicative m, MonadIO m)
            => Map PackageName (Set PackageName,Maybe Version)
            -> m ()
printLeaves = F.traverse_ printLeaf . Map.keysSet . Map.filter Set.null . fmap fst
printLeaves = F.traverse_ printLeaf . Map.keysSet . Map.filter Set.null . fmap fst