diff --git a/Data/StableMemo.hs b/Data/StableMemo.hs
--- a/Data/StableMemo.hs
+++ b/Data/StableMemo.hs
@@ -24,8 +24,8 @@
 
 -- | Curried memoization to share partial evaluation
 memo2 :: (a -> b -> c) -> (a -> b -> c)
-memo2 f = memo . memo f
+memo2 f = memo (memo . f)
 
 -- | Curried memoization to share partial evaluation
 memo3 :: (a -> b -> c -> d) -> (a -> b -> c -> d)
-memo3 f = memo . memo2 f
+memo3 f = memo (memo2 . f)
diff --git a/Data/StableMemo/Weak.hs b/Data/StableMemo/Weak.hs
--- a/Data/StableMemo/Weak.hs
+++ b/Data/StableMemo/Weak.hs
@@ -25,8 +25,8 @@
 
 -- | Curried memoization to share partial evaluation
 memo2 :: (a -> b -> c) -> (a -> b -> c)
-memo2 f = memo . memo f
+memo2 f = memo (memo . f)
 
 -- | Curried memoization to share partial evaluation
 memo3 :: (a -> b -> c -> d) -> (a -> b -> c -> d)
-memo3 f = memo . memo2 f
+memo3 f = memo (memo2 . f)
diff --git a/stable-memo.cabal b/stable-memo.cabal
--- a/stable-memo.cabal
+++ b/stable-memo.cabal
@@ -1,5 +1,5 @@
 name:                stable-memo
-version:             0.1.2
+version:             0.1.3
 synopsis:            Memoization based on argument identity
 license:             MIT
 license-file:        LICENSE
@@ -92,4 +92,4 @@
 source-repository this
   type:     darcs
   location: http://patch-tag.com/r/jmcarthur/stable-memo
-  tag:      v0.1.2
+  tag:      v0.1.3
