diff --git a/elerea-examples.cabal b/elerea-examples.cabal
--- a/elerea-examples.cabal
+++ b/elerea-examples.cabal
@@ -1,5 +1,5 @@
 Name:                elerea-examples
-Version:             2.2.2
+Version:             2.2.3
 Cabal-Version:       >= 1.2
 Synopsis:            Example applications for Elerea
 Category:            reactivity, FRP
diff --git a/src/Bounce/Math.hs b/src/Bounce/Math.hs
--- a/src/Bounce/Math.hs
+++ b/src/Bounce/Math.hs
@@ -48,13 +48,13 @@
           where t' = dt+t
 
 {-| Scalar moving average of a given number of recent samples. -}
-movingAvg :: (Fractional a) => a -> Signal a -> SignalGen p (Signal a)
+movingAvg :: (Eq a, Fractional a) => a -> Signal a -> SignalGen p (Signal a)
 movingAvg n s = do
   sig <- scanM n (delay 0) s
   return $ ((/n).sum) <$> sequence sig
 
 {-| Vector moving average of a given number of recent samples. -}
-movingAvgV :: (Vector2D v c, Num c) => c -> Signal v -> SignalGen p (Signal v)
+movingAvgV :: (Eq c, Vector2D v c, Num c) => c -> Signal v -> SignalGen p (Signal v)
 movingAvgV n s = do
   sig <- scanM n (delay vnull) s
   return $ ((^/.n).foldl1' (^+^)) <$> sequence sig
