diff --git a/Util.hs b/Util.hs
--- a/Util.hs
+++ b/Util.hs
@@ -135,6 +135,9 @@
 foldMapA :: (Applicative p, Monoid b, Foldable f) => (a -> p b) -> f a -> p b
 foldMapA f = foldr (liftA2 (<>) . f) (pure mempty)
 
+altMap :: (Alternative p, Foldable f) => (a -> p b) -> f a -> p b
+altMap f = foldr ((<|>) . f) empty
+
 iterateM :: Monad m => Natural -> (a -> m a) -> a -> m (NonEmpty a)
 iterateM 0 _ x = pure (x:|[])
 iterateM k f x = (x <|) <$> (f x >>= iterateM (pred k) f)
diff --git a/util.cabal b/util.cabal
--- a/util.cabal
+++ b/util.cabal
@@ -1,5 +1,5 @@
 name:                util
-version:             0.1.7.0
+version:             0.1.8.0
 synopsis:            Utilities
 -- description:         
 license:             BSD3
