diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,8 @@
 # Change Log
 
+## 0.10.1 - 2018-03-12
+* MonadFail instance to R.
+
 ## 0.10 - 2018-03-10
 * inline-r supports running on FreeBSD
 * Fixed Lock system during QQ-generation
diff --git a/inline-r.cabal b/inline-r.cabal
--- a/inline-r.cabal
+++ b/inline-r.cabal
@@ -1,5 +1,5 @@
 name:                inline-r
-version:             0.10
+version:             0.10.1
 license:             BSD3
 license-file:        LICENSE
 copyright:           Copyright (c) 2013-2015 Amgen, Inc.
@@ -100,7 +100,7 @@
       inline-c >=0.5.6.1 && <0.6
   else
     build-depends:
-      inline-c >=0.6 && <0.7
+      inline-c >=0.6 && <0.8
   hs-source-dirs:      src
   includes:            cbits/missing_r.h
   c-sources:           cbits/missing_r.c
diff --git a/src/Language/R/Instance.hs b/src/Language/R/Instance.hs
--- a/src/Language/R/Instance.hs
+++ b/src/Language/R/Instance.hs
@@ -64,6 +64,9 @@
     , uninterruptibleMask_
     )
 import Control.Monad.Catch ( MonadCatch, MonadMask, MonadThrow )
+#if MIN_VERSION_base(4,9,0)
+import Control.Monad.Fail
+#endif
 import Control.Monad.Reader
 import Data.IORef (IORef, newIORef, readIORef, modifyIORef')
 import Foreign
@@ -89,6 +92,11 @@
 -- be lifted to 'R' actions.
 newtype R s a = R { unR :: ReaderT (IORef Int) IO a }
   deriving (Applicative, Functor, Monad, MonadIO, MonadCatch, MonadMask, MonadThrow)
+
+#if MIN_VERSION_base(4,9,0)
+instance MonadFail (R s) where
+  fail s = R $ ReaderT $ \_ -> Control.Monad.Fail.fail s
+#endif
 
 instance PrimMonad (R s) where
   type PrimState (R s) = s
