diff --git a/rvar.cabal b/rvar.cabal
--- a/rvar.cabal
+++ b/rvar.cabal
@@ -1,5 +1,5 @@
 name:                   rvar
-version:                0.3.0.0
+version:                0.3.0.1
 stability:              stable
 
 cabal-version:          >= 1.10
@@ -8,7 +8,7 @@
 author:                 James Cook <mokus@deepbondi.net>
 maintainer:             Dominic Steinitz <dominic@steinitz.org>
 license:                PublicDomain
-homepage:               https://github.com/mokus0/random-fu
+homepage:               https://github.com/haskell-numerics/random-fu
 
 category:               Math
 synopsis:               Random Variables
diff --git a/src/Data/RVar.hs b/src/Data/RVar.hs
--- a/src/Data/RVar.hs
+++ b/src/Data/RVar.hs
@@ -40,6 +40,7 @@
 import qualified Data.Functor.Identity as T
 import Data.RVar.Prim
 import System.Random.Stateful
+import Control.Monad (ap, liftM)
 
 -- |An opaque type modeling a \"random variable\" - a value
 -- which depends on the outcome of some random event.  'RVar's
@@ -239,12 +240,11 @@
     fmap = liftM
 
 instance Monad (RVarT n) where
-    return x = RVarT (return $! x)
     (RVarT m) >>= k = RVarT (m >>= \x -> x `seq` unRVarT (k x))
 
 instance Applicative (RVarT n) where
-    pure  = return
-    (<*>) = ap
+    pure x = RVarT (pure $! x)
+    (<*>)  = ap
 
 instance MonadPrompt Prim (RVarT n) where
     prompt = RVarT . prompt
