diff --git a/monad-gen.cabal b/monad-gen.cabal
--- a/monad-gen.cabal
+++ b/monad-gen.cabal
@@ -1,5 +1,5 @@
 name:                monad-gen
-version:             0.2.0.1
+version:             0.2.0.2
 synopsis:            A simple monad for generating fresh integers
 description:
     This module provides a simple monad transformer @GenT@ to enumerate unique values within
diff --git a/src/Control/Monad/Gen.hs b/src/Control/Monad/Gen.hs
--- a/src/Control/Monad/Gen.hs
+++ b/src/Control/Monad/Gen.hs
@@ -26,6 +26,10 @@
 -- | The monad transformer for generating fresh values.
 newtype GenT e m a = GenT {unGenT :: StateT e m a}
                    deriving(Functor)
+
+instance (Monad m, Enum e) => MonadGen e (GenT e m) where
+  gen = GenT (modify succ) >> GenT get
+
 instance Monad m => Monad (GenT e m) where
   return = GenT . return
   (GenT m) >>= f = GenT $ m >>= unGenT . f
