diff --git a/GraphRewriting/Layout/Coulomb.hs b/GraphRewriting/Layout/Coulomb.hs
--- a/GraphRewriting/Layout/Coulomb.hs
+++ b/GraphRewriting/Layout/Coulomb.hs
@@ -2,9 +2,10 @@
 module GraphRewriting.Layout.Coulomb where
 
 import Data.View
-import Data.Functor
+import Data.Functor ()
 import GraphRewriting.Graph.Types
 import GraphRewriting.Graph.Read
+import GraphRewriting.Pattern ()
 import GraphRewriting.Layout.Position
 import GraphRewriting.Layout.Force
 
diff --git a/GraphRewriting/Layout/Gravitation.hs b/GraphRewriting/Layout/Gravitation.hs
--- a/GraphRewriting/Layout/Gravitation.hs
+++ b/GraphRewriting/Layout/Gravitation.hs
@@ -3,8 +3,9 @@
 
 import Data.View
 import Data.Vector.Class
-import Data.Vector.V2
-import Data.Functor
+import Data.Vector.V2 ()
+import Data.Functor ()
+import GraphRewriting.Pattern ()
 import GraphRewriting.Graph.Types
 import GraphRewriting.Graph.Read
 import GraphRewriting.Layout.Position
diff --git a/GraphRewriting/Layout/RotPortSpec.hs b/GraphRewriting/Layout/RotPortSpec.hs
--- a/GraphRewriting/Layout/RotPortSpec.hs
+++ b/GraphRewriting/Layout/RotPortSpec.hs
@@ -16,6 +16,7 @@
 import GraphRewriting.Layout.Rotation
 import GraphRewriting.Layout.PortSpec
 import GraphRewriting.Layout.Geometry
+import GraphRewriting.Pattern ()
 import Data.Vector.V2
 import Data.View
 import Control.Monad
diff --git a/GraphRewriting/Layout/Wrapper.hs b/GraphRewriting/Layout/Wrapper.hs
--- a/GraphRewriting/Layout/Wrapper.hs
+++ b/GraphRewriting/Layout/Wrapper.hs
@@ -30,11 +30,11 @@
 
 instance PortSpec n ⇒ PortSpec (Wrapper n) where portSpec = portSpec . wrappee
 
-instance View Rotation (Wrapper n) where
+instance {-# OVERLAPPING #-} View Rotation (Wrapper n) where
 	inspect = wRot
 	update v w = w {wRot = v}
 
-instance View Position (Wrapper n) where
+instance {-# OVERLAPPING #-} View Position (Wrapper n) where
 	inspect = wPos
 	update v w = w {wPos = v}
 
diff --git a/graph-rewriting-layout.cabal b/graph-rewriting-layout.cabal
--- a/graph-rewriting-layout.cabal
+++ b/graph-rewriting-layout.cabal
@@ -1,25 +1,26 @@
 Name:          graph-rewriting-layout
-Version:       0.5.6
+Version:       0.5.7
 Copyright:     (c) 2010, Jan Rochel
 License:       BSD3
 License-File:  LICENSE
 Author:        Jan Rochel
 Maintainer:    jan@rochel.info
 Homepage:      http://rochel.info/#graph-rewriting
-Stability:     beta
+Bug-Reports:   https://github.com/jrochel/graph-rewriting/issues
 Build-Type:    Simple
 Synopsis:      Force-directed node placement intended for incremental graph drawing
 Description:   Defines basic methods for force-directed node displacement that can be combined into an incremental graph-drawing procedure. See graph-rewriting-ski package for an example.
 Category:      Graphs, Graphics
-Cabal-Version: >= 1.6
+Cabal-Version: >= 1.10
 Extra-Source-Files: AUTHORS
 
 Library
+  Default-Language: Haskell2010
   Build-Depends:
-    base >= 4.8 && < 4.10,
+    base >= 4.8 && < 5,
     base-unicode-symbols >= 0.2 && < 0.3,
-    graph-rewriting >= 0.7.8,
-    AC-Vector >= 2.3 && < 2.4
+    graph-rewriting >= 0.7.8 && < 0.9,
+    AC-Vector >= 2.4.0 && < 2.5.0
   Exposed-Modules:
     GraphRewriting.Layout.Position
     GraphRewriting.Layout.PortSpec
@@ -32,11 +33,11 @@
   Other-Modules:
     GraphRewriting.Layout.Force
     GraphRewriting.Layout.Geometry
-  Extensions:
+  Default-Extensions:
     UnicodeSyntax
+  Other-Extensions:
     FlexibleInstances
     FlexibleContexts
     MultiParamTypeClasses
     TypeSynonymInstances
-    OverlappingInstances
   GHC-Options:    -fno-warn-duplicate-exports -fwarn-unused-binds -fwarn-unused-imports -fwarn-unused-do-bind -fwarn-wrong-do-bind -fwarn-unrecognised-pragmas -fno-warn-tabs
