diff --git a/Control/Monad/ConstrainedNormal.hs b/Control/Monad/ConstrainedNormal.hs
--- a/Control/Monad/ConstrainedNormal.hs
+++ b/Control/Monad/ConstrainedNormal.hs
@@ -149,6 +149,13 @@
   (<*>) :: NMP c t (a -> b) -> NMP c t a -> NMP c t b
   (<*>) = ap
 
+instance Alternative (NMP c t) where
+  empty :: NMP c t a
+  empty = mzero
+
+  (<|>) :: NMP c t a -> NMP c t a -> NMP c t a
+  (<|>) = mplus
+
 toNMP :: NMP' c t a -> NMP c t a
 toNMP n = MPlus n MZero -- right-unit law
 
diff --git a/constrained-normal.cabal b/constrained-normal.cabal
--- a/constrained-normal.cabal
+++ b/constrained-normal.cabal
@@ -1,5 +1,5 @@
 Name:                constrained-normal
-Version:             1.0.1
+Version:             1.0.2
 Synopsis:            Normalised Deep Embeddings for Constrained Type-Class Instances
 Description:	     The package provides normal forms for monads and related structures, similarly to the Operational package.
                      The difference is that we parameterise the normal forms on a constraint, and apply that constraint to all
