diff --git a/Sound/Tidal/Pattern.hs b/Sound/Tidal/Pattern.hs
--- a/Sound/Tidal/Pattern.hs
+++ b/Sound/Tidal/Pattern.hs
@@ -260,6 +260,11 @@
 every 0 f p = p
 every n f p = when ((== 0) . (`mod` n)) f p
 
+-- | @foldEvery ns f p@ applies the function @f@ to @p@, and is applied for
+-- each cycle in @ns@.
+foldEvery :: [Int] -> (Pattern a -> Pattern a) -> Pattern a -> Pattern a
+foldEvery ns f p = foldr ($) p (map (\x -> every x f) ns)
+
 -- | @sig f@ takes a function from time to values, and turns it into a
 -- @Pattern@.
 sig :: (Time -> a) -> Pattern a
diff --git a/tidal.cabal b/tidal.cabal
--- a/tidal.cabal
+++ b/tidal.cabal
@@ -1,14 +1,14 @@
 name:                tidal
-version:         0.4.28
+version:         0.4.29
 synopsis:            Pattern language for improvised music
 -- description:         
 homepage:            http://yaxu.org/tidal/
 license:             GPL-3
 license-file:        LICENSE
 author:              Alex McLean
-maintainer:          alex@slab.org
+maintainer:          Alex McLean <alex@slab.org>, Mike Hodnick <mike.hodnick@gmail.com>
 Stability:           Experimental
-Copyright:           (c) Alex McLean and others, 2013
+Copyright:           (c) Alex McLean and other contributors, 2015
 category:            Sound
 build-type:          Simple
 cabal-version:       >=1.4
