diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## [0.5.1.1]
+### Changed
+- `Register` needs UndecidableInstances in GHC 8.6.2, I'm looking for a way around this. I've removed it for now.
+
 ## [0.5.1.0]
 ### Added
 - The `Register` store, which allows reverse lookups for bounded enums.
diff --git a/apecs.cabal b/apecs.cabal
--- a/apecs.cabal
+++ b/apecs.cabal
@@ -1,5 +1,5 @@
 name:                apecs
-version:             0.5.1.0
+version:             0.5.1.1
 homepage:            https://github.com/jonascarpay/apecs#readme
 license:             BSD3
 license-file:        LICENSE
@@ -43,7 +43,7 @@
     vector
   ghc-options:
     -Wall
-    -Odph
+    -O2
 
 test-suite apecs-test
   type:
@@ -80,10 +80,10 @@
     Haskell2010
   ghc-options:
     -Wall
-    -Odph
     -- LLVM is disabled by default for travis/compatibility reasons
     -- For serious benchmarks, please run with -fllvm
     -- -fllvm
+    -O2
     -optlo-O3
     -threaded
     -funfolding-use-threshold1000
diff --git a/src/Apecs/Stores.hs b/src/Apecs/Stores.hs
--- a/src/Apecs/Stores.hs
+++ b/src/Apecs/Stores.hs
@@ -13,7 +13,7 @@
   ( Map, Cache, Unique,
     Global,
     Cachable,
-    Register, regLookup
+    -- Register, regLookup
   ) where
 
 import           Control.Monad.Reader
@@ -183,6 +183,7 @@
     stored <- explMembers s
     return $! cached U.++ stored
 
+{--
 data Register s = Register (VM.IOVector S.IntSet) s
 type instance Elem (Register s) = Elem s
 
@@ -233,3 +234,4 @@
   let offset = negate $ fromEnum (minBound :: Elem s)
   Register vec _ :: Register s <- getStore
   fmap Entity . S.toList <$> lift (VM.read vec (fromEnum c - offset))
+--}
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -110,6 +110,7 @@
 prop_setGetTuple = genericSetGet initTuples (undefined :: (T1,T2,T3))
 prop_setSetTuple = genericSetSet initTuples (undefined :: (T1,T2,T3))
 
+{--
 newtype TestBool = TestBool Bool deriving (Eq, Show, Bounded, Enum, Arbitrary)
 instance Component TestBool where type Storage TestBool = Register (Map TestBool)
 
@@ -132,6 +133,7 @@
          && sort rf == sort ef
          && all (`notElem` ef) et
          )
+         --}
 
 return []
 main = $quickCheckAll
