diff --git a/GraphRewriting/Layout/Coulomb.hs b/GraphRewriting/Layout/Coulomb.hs
--- a/GraphRewriting/Layout/Coulomb.hs
+++ b/GraphRewriting/Layout/Coulomb.hs
@@ -1,6 +1,8 @@
+{-# LANGUAGE UnicodeSyntax, FlexibleContexts #-}
 module GraphRewriting.Layout.Coulomb where
 
 import Data.View
+import Data.Functor
 import GraphRewriting.Graph.Types
 import GraphRewriting.Graph.Read
 import GraphRewriting.Layout.Position
@@ -9,6 +11,6 @@
 
 coulombForce ∷ View Position n ⇒ Node -> WithGraph n Force
 coulombForce node = do
- 	n ← examineNode position node
- 	ns ← mapM (examineNode position) =<< readNodeList
+ 	n ← examine position <$> readNode node
+ 	ns ← fmap (map $ examine position) (mapM readNode =<< readNodeList)
  	return $ fsum [repulsion n' n | n' ← ns]
diff --git a/GraphRewriting/Layout/Gravitation.hs b/GraphRewriting/Layout/Gravitation.hs
--- a/GraphRewriting/Layout/Gravitation.hs
+++ b/GraphRewriting/Layout/Gravitation.hs
@@ -1,9 +1,10 @@
+{-# LANGUAGE UnicodeSyntax, FlexibleContexts #-}
 module GraphRewriting.Layout.Gravitation where
 
 import Data.View
 import Data.Vector.Class
 import Data.Vector.V2
-import Control.Monad
+import Data.Functor
 import GraphRewriting.Graph.Types
 import GraphRewriting.Graph.Read
 import GraphRewriting.Layout.Position
@@ -11,10 +12,10 @@
 
 
 centralGravitation ∷ View Position n ⇒ Node → WithGraph n Force
-centralGravitation = liftM (attraction $ vpromote 0) . examineNode position
+centralGravitation = fmap (attraction (vpromote 0) . examine position) . readNode
 
 gravitation ∷ View Position n ⇒ Node -> Rewrite n Force
 gravitation node = do
- 	n ← examineNode position node
- 	ns ← mapM (examineNode position) =<< readNodeList
+ 	n ← examine position <$> readNode node
+ 	ns ← fmap (map $ examine position) (mapM readNode =<< readNodeList)
  	return $ fsum [attraction n' n | n' ← ns]
diff --git a/graph-rewriting-layout.cabal b/graph-rewriting-layout.cabal
--- a/graph-rewriting-layout.cabal
+++ b/graph-rewriting-layout.cabal
@@ -1,5 +1,5 @@
 Name:          graph-rewriting-layout
-Version:       0.5.0
+Version:       0.5.1
 Copyright:     (c) 2010, Jan Rochel
 License:       BSD3
 License-File:  LICENSE
@@ -9,7 +9,7 @@
 Stability:     beta
 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.
+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
 
@@ -17,7 +17,7 @@
   Build-Depends:
     base >= 4 && < 4.6,
     base-unicode-symbols >= 0.2 && < 0.3,
-    graph-rewriting >= 0.5 && < 0.7,
+    graph-rewriting >= 0.5 && < 0.8,
     AC-Vector >= 2.3 && < 2.4
   Exposed-Modules:
     GraphRewriting.Layout.Position
@@ -38,4 +38,4 @@
     MultiParamTypeClasses
     TypeSynonymInstances
     OverlappingInstances
-  GHC-Options: -fno-warn-duplicate-exports
+  GHC-Options:    -fno-warn-duplicate-exports -fwarn-unused-binds -fwarn-unused-imports -fwarn-unused-do-bind -fwarn-wrong-do-bind -fwarn-unrecognised-pragmas
