diff --git a/loopbreaker.cabal b/loopbreaker.cabal
--- a/loopbreaker.cabal
+++ b/loopbreaker.cabal
@@ -1,6 +1,6 @@
 cabal-version: 1.12
 name: loopbreaker
-version: 0.1.1.0
+version: 0.1.1.1
 license: BSD3
 license-file: LICENSE
 copyright: 2019 Matej Nižník,
@@ -40,7 +40,7 @@
     build-depends:
         base >=4.7 && <5,
         containers ==0.6.*,
-        ghc ==8.6.*,
+        ghc >=8.6 && <8.9,
         syb ==0.7.*
 
 test-suite loopbreaker-test
@@ -50,6 +50,7 @@
     hs-source-dirs: test
     other-modules:
         DisableFlagSpec
+        Experiments
         InlineRecCallsSpec
         PragmaDetectionSpec
         TestUtils
@@ -64,7 +65,7 @@
     build-depends:
         base >=4.7 && <5,
         containers ==0.6.*,
-        ghc ==8.6.*,
+        ghc >=8.6 && <8.9,
         hspec >=2.6.1 && <3,
         inspection-testing >=0.4.2.1 && <0.5,
         loopbreaker -any,
diff --git a/src/Loopbreaker.hs b/src/Loopbreaker.hs
--- a/src/Loopbreaker.hs
+++ b/src/Loopbreaker.hs
@@ -49,6 +49,7 @@
 ------------------------------------------------------------------------------
 plugin :: Plugin
 plugin = defaultPlugin
-  { pluginRecompile     = purePlugin
+  { -- 'disable' flag changes behaviour
+    pluginRecompile     = flagRecompile
   , renamedResultAction = \opts -> traverse (action opts) .: (,)
   }
diff --git a/src/Loopbreaker/InlineRecCalls.hs b/src/Loopbreaker/InlineRecCalls.hs
--- a/src/Loopbreaker/InlineRecCalls.hs
+++ b/src/Loopbreaker/InlineRecCalls.hs
@@ -74,7 +74,7 @@
 inlineRecCall
   :: MonadInline m
   => Map Name (LHsSigWcType GhcRn)  -- ^ types of bindings
-  -> Set Name                       -- ^ 'Loopbreaker' annotations
+  -> Set Name                       -- ^ Loopbreaker annotations
   -> (RecFlag, LHsBinds GhcRn)      -- ^ binding being inlined
   -> m ((RecFlag, LHsBinds GhcRn), [LSig GhcRn])
 inlineRecCall types inlined (Recursive, binds)
@@ -137,7 +137,7 @@
 inlineSig how name = noLoc $ InlineSig NoExt (noLoc name) how
 
 ------------------------------------------------------------------------------
--- | Contrary to 'neverInlinePragma', this has behaviour of 'NOINLINE' pragma.
+-- | Contrary to 'neverInlinePragma', this has behaviour of @NOINLINE@ pragma.
 noInlinePragma :: InlinePragma
 noInlinePragma = defaultInlinePragma
   { inl_inline = NoInline
diff --git a/test/Experiments.hs b/test/Experiments.hs
new file mode 100644
--- /dev/null
+++ b/test/Experiments.hs
@@ -0,0 +1,9 @@
+{-# OPTIONS_GHC -fplugin=Loopbreaker #-}
+
+module Experiments where
+
+
+fact :: Int -> Int
+fact 0 = 1
+fact n = n * fact (n - 1)
+{-# INLINE fact #-}
