diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for do-notation
 
+## 2018-09-09 -- 0.1.0.2
+
+Loosen constraint on PureSyntax down to Applicative.
+
 ## 2018-09-07 -- 0.1.0.1
 
 First release!
diff --git a/do-notation.cabal b/do-notation.cabal
--- a/do-notation.cabal
+++ b/do-notation.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: b472048deb2d5a109b0be918e2b031fca161e3a4ae74f65216e74809e1a8ebb9
+-- hash: a7db8ed39cac7873ea190b76badd179cecdd8a807162156015f04abc2027521d
 
 name:           do-notation
-version:        0.1.0.1
+version:        0.1.0.2
 synopsis:       Generalize do-notation to work on monads and indexed monads simultaneously.
 description:    Please see the README on GitHub at <https://github.com/isovector/do-notation#readme>
 category:       Language
diff --git a/src/Language/Haskell/DoNotation.hs b/src/Language/Haskell/DoNotation.hs
--- a/src/Language/Haskell/DoNotation.hs
+++ b/src/Language/Haskell/DoNotation.hs
@@ -46,7 +46,7 @@
 
 
 instance {-# INCOHERENT #-}
-      P.Monad m => PureSyntax m where
+      Applicative m => PureSyntax m where
   pure = P.pure
 
 instance (IxMonad m, j ~ i) => PureSyntax (m i j) where
diff --git a/test/Spec.hs b/test/Spec.hs
--- a/test/Spec.hs
+++ b/test/Spec.hs
@@ -27,6 +27,12 @@
 
 
 ------------------------------------------------------------------------------
+-- |
+monadUnecessary :: Applicative m => m ()
+monadUnecessary = pure ()
+
+
+------------------------------------------------------------------------------
 -- | Function that uses both monads and indexed monads in do blocks.
 iShouldCompile :: IO ()
 iShouldCompile = do
