diff --git a/halive.cabal b/halive.cabal
--- a/halive.cabal
+++ b/halive.cabal
@@ -1,5 +1,5 @@
 name:                halive
-version:             0.1.5
+version:             0.1.6
 synopsis:            A live recompiler
 description:
   Live recompiler for Haskell
@@ -8,7 +8,7 @@
   .
   /Usage:/
   .
-  > halive path/to/myfile.hs [optionally any/extra include/dirs ..] [-f|--file-type additional file type] -- [args to app]
+  > halive path/to/myfile.hs [optionally any/extra include/dirs ..] [-f|--file-type additional file type] [-c|--compiled] -- [args to app]
   .
   Available options:
   .
@@ -43,8 +43,8 @@
     Halive.Recompiler
     Halive.FileListener
   default-language:    Haskell2010
-  ghc-prof-options:    -Wall -O2 -fprof-auto
-  ghc-options:         -Wall -O2 -optP-Wno-nonportable-include-path
+  -- ghc-prof-options:    -Wall -fprof-auto
+  ghc-options:         -Wall -optP-Wno-nonportable-include-path
   build-depends:
       base >=4.7 && <5
     , foreign-store
@@ -69,8 +69,8 @@
   main-is:             HaliveMain.hs
   hs-source-dirs:      exec
   default-language:    Haskell2010
-  ghc-prof-options:    -dynamic -Wall -O2 -threaded -fprof-auto
-  ghc-options:         -dynamic -Wall -O2 -threaded -optP-Wno-nonportable-include-path
+  -- ghc-prof-options:    -dynamic -Wall -threaded -fprof-auto
+  ghc-options:         -dynamic -Wall -threaded -optP-Wno-nonportable-include-path
   -- This strangely enables "-dynamic" for all dependent libraries,
   -- so I need to comment this during profiling?!?
   -- Shouldn't ghc-prof-options override it anyway? Who knows.
@@ -139,7 +139,7 @@
   type:                exitcode-stdio-1.0
   main-is:             TestSubhalive.hs
   hs-source-dirs:      test
-  ghc-options:         -Wall -O2 -threaded -rtsopts -with-rtsopts=-N -dynamic
+  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N -dynamic
   build-depends:       base
                      , halive
                      , mtl
@@ -154,7 +154,7 @@
   type:                exitcode-stdio-1.0
   main-is:             TestCompileExpr.hs
   hs-source-dirs:      test
-  ghc-options:         -Wall -O2 -threaded -rtsopts -with-rtsopts=-N  -dynamic
+  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N  -dynamic
   build-depends:       base
                      , halive
                      , mtl
@@ -170,7 +170,7 @@
   type:                exitcode-stdio-1.0
   main-is:             TestGHC.hs
   hs-source-dirs:      test
-  ghc-options:         -Wall -O2 -threaded -rtsopts -with-rtsopts=-N
+  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N
   build-depends:       base
                      , time
                      , filepath
diff --git a/src/Halive/Args.hs b/src/Halive/Args.hs
--- a/src/Halive/Args.hs
+++ b/src/Halive/Args.hs
@@ -25,7 +25,7 @@
     }
 
 usage :: String
-usage = "Usage: halive <main.hs> [<include dir>] [-f|--file-type <file type>] [-- <args to myapp>]\n\
+usage = "Usage: halive <main.hs> [<include dir>] [-f|--file-type <file type>] [-c|--compiled] [-- <args to myapp>]\n\
         \\n\
         \Available options:\n\
         \  -f, --file-type <file type>     Custom file type to watch for changes (e.g. \"-f html\")\n\
diff --git a/src/Halive/SubHalive.hs b/src/Halive/SubHalive.hs
--- a/src/Halive/SubHalive.hs
+++ b/src/Halive/SubHalive.hs
@@ -128,7 +128,7 @@
             -- Make sure we're configured for live-reload
             >>= (\d -> pure d
                 { hscTarget   = if gscCompilationMode == Compiled then HscAsm else HscInterpreted
-                , optLevel    = if gscCompilationMode == Compiled then 2 else 0
+                , optLevel    = if gscCompilationMode == Compiled then 1 else 0
                 , ghcLink     = LinkInMemory
                 , ghcMode     = CompManager
                 , importPaths = gscImportPaths
