diff --git a/MetaObject.cabal b/MetaObject.cabal
--- a/MetaObject.cabal
+++ b/MetaObject.cabal
@@ -1,5 +1,5 @@
 name:               MetaObject
-version:            0.0.5
+version:            0.0.6
 copyright:          2006 Caio Marcelo, 2008 Audrey Tang
 license:            BSD3
 license-file:       LICENSE
@@ -13,6 +13,7 @@
 exposed-modules:    MO.Base MO.Compile.Attribute MO.Compile.Class
                     MO.Compile.Role MO.Compile MO.Run MO.Util MO.Capture MO.Util.C3
 build-depends:      base, haskell98, containers,
-                    stringtable-atom >= 0.0.4
+                    stringtable-atom >= 0.0.6
+extensions:         UndecidableInstances OverlappingInstances
 extra-source-files: README, examples/si.hs, examples/old/mi.hs examples/old/roles.hs
 hs-source-dirs:     src
diff --git a/src/MO/Base.hs b/src/MO/Base.hs
--- a/src/MO/Base.hs
+++ b/src/MO/Base.hs
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -fglasgow-exts -fallow-undecidable-instances -fparr #-}
+{-# OPTIONS_GHC -fglasgow-exts -fparr #-}
 
 module MO.Base where
 import {-# SOURCE #-} MO.Run
diff --git a/src/MO/Compile.hs b/src/MO/Compile.hs
--- a/src/MO/Compile.hs
+++ b/src/MO/Compile.hs
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -fglasgow-exts -fallow-undecidable-instances -funbox-strict-fields #-}
+{-# OPTIONS_GHC -fglasgow-exts -funbox-strict-fields #-}
 
 module MO.Compile where
 
diff --git a/src/MO/Compile/Attribute.hs b/src/MO/Compile/Attribute.hs
--- a/src/MO/Compile/Attribute.hs
+++ b/src/MO/Compile/Attribute.hs
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -fglasgow-exts -fallow-undecidable-instances #-}
+{-# OPTIONS_GHC -fglasgow-exts #-}
 
 module MO.Compile.Attribute where
 import MO.Base
diff --git a/src/MO/Compile/Class.hs b/src/MO/Compile/Class.hs
--- a/src/MO/Compile/Class.hs
+++ b/src/MO/Compile/Class.hs
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -fglasgow-exts -fallow-undecidable-instances -fallow-overlapping-instances #-}
+{-# OPTIONS_GHC -fglasgow-exts #-}
 
 module MO.Compile.Class where
 
diff --git a/src/MO/Compile/Role.hs b/src/MO/Compile/Role.hs
--- a/src/MO/Compile/Role.hs
+++ b/src/MO/Compile/Role.hs
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -fglasgow-exts -fallow-undecidable-instances #-}
+{-# OPTIONS_GHC -fglasgow-exts #-}
 
 module MO.Compile.Role where
 
diff --git a/src/MO/Run.hs b/src/MO/Run.hs
--- a/src/MO/Run.hs
+++ b/src/MO/Run.hs
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -fglasgow-exts -fallow-undecidable-instances -fallow-overlapping-instances -fparr #-}
+{-# OPTIONS_GHC -fglasgow-exts -fparr #-}
 
 module MO.Run (
     module MO.Run,
diff --git a/src/MO/Run.hs-boot b/src/MO/Run.hs-boot
--- a/src/MO/Run.hs-boot
+++ b/src/MO/Run.hs-boot
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -fglasgow-exts -fallow-undecidable-instances -fno-warn-orphans #-}
+{-# OPTIONS_GHC -fglasgow-exts -fno-warn-orphans #-}
 {-# LANGUAGE KindSignatures #-}
 module MO.Run where
 import Data.Typeable
