diff --git a/CLASE.cabal b/CLASE.cabal
--- a/CLASE.cabal
+++ b/CLASE.cabal
@@ -1,5 +1,5 @@
 Name:           CLASE
-Version:        2008.9.23.2
+Version:        2009.2.11
 Cabal-Version:  >= 1.2
 License:        BSD3
 Build-Type:     Simple
@@ -12,7 +12,7 @@
 Description:    A library to aid the development of structured editors that
                 require a zipper-like interface to the language being edited.
 Category:       Data
-Tested-With:    GHC ==6.8.3
+Tested-With:    GHC == 6.10.1
 
 Library
   Build-Depends:    base,
diff --git a/Data/Cursor/CLASE/Gen/Adapters.hs b/Data/Cursor/CLASE/Gen/Adapters.hs
--- a/Data/Cursor/CLASE/Gen/Adapters.hs
+++ b/Data/Cursor/CLASE/Gen/Adapters.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE TemplateHaskell, PatternSignatures #-}
+{-# LANGUAGE TemplateHaskell, ScopedTypeVariables #-}
 {-# OPTIONS_GHC -Wall -fno-warn-name-shadowing #-}
 module Data.Cursor.CLASE.Gen.Adapters(adapterGen) where
 
diff --git a/Data/Cursor/CLASE/Gen/Language.hs b/Data/Cursor/CLASE/Gen/Language.hs
--- a/Data/Cursor/CLASE/Gen/Language.hs
+++ b/Data/Cursor/CLASE/Gen/Language.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE TemplateHaskell, PatternSignatures #-}
+{-# LANGUAGE TemplateHaskell, ScopedTypeVariables #-}
 {-# OPTIONS_GHC -Wall -fno-warn-name-shadowing #-}
 module Data.Cursor.CLASE.Gen.Language(languageGen) where
 
diff --git a/Data/Cursor/CLASE/Gen/Persistence.hs b/Data/Cursor/CLASE/Gen/Persistence.hs
--- a/Data/Cursor/CLASE/Gen/Persistence.hs
+++ b/Data/Cursor/CLASE/Gen/Persistence.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE TemplateHaskell, PatternSignatures #-}
+{-# LANGUAGE TemplateHaskell, ScopedTypeVariables #-}
 {-# OPTIONS_GHC -Wall -fno-warn-name-shadowing #-}
 module Data.Cursor.CLASE.Gen.Persistence(persistenceGen) where
 
@@ -58,7 +58,6 @@
     , "{-# LANGUAGE UndecidableInstances #-}"
     , "{-# LANGUAGE FlexibleContexts #-}"
     , "{-# LANGUAGE ScopedTypeVariables #-}"
-    , "{-# LANGUAGE PatternSignatures #-}"
     , "{-# LANGUAGE RankNTypes #-}"
     , "{-# OPTIONS_GHC -Wall -fno-warn-name-shadowing -fno-warn-orphans -fno-warn-incomplete-patterns #-}"
     , "module " ++ modName ++ " where"
diff --git a/Data/Cursor/CLASE/Language.hs b/Data/Cursor/CLASE/Language.hs
--- a/Data/Cursor/CLASE/Language.hs
+++ b/Data/Cursor/CLASE/Language.hs
@@ -1,6 +1,5 @@
 {-# LANGUAGE TypeFamilies, EmptyDataDecls, GADTs, 
              ScopedTypeVariables,
-             PatternSignatures,
              RankNTypes,
              MultiParamTypeClasses, NoMonomorphismRestriction #-}
 {-# OPTIONS_GHC -Wall -fno-warn-name-shadowing #-}
diff --git a/Data/Cursor/CLASE/Persistence.hs b/Data/Cursor/CLASE/Persistence.hs
--- a/Data/Cursor/CLASE/Persistence.hs
+++ b/Data/Cursor/CLASE/Persistence.hs
@@ -1,7 +1,6 @@
 {-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE ScopedTypeVariables #-}
-{-# LANGUAGE PatternSignatures #-}
 {-# LANGUAGE RankNTypes #-}
 {-# LANGUAGE TypeFamilies #-}
 {-# LANGUAGE GADTs #-}
@@ -121,14 +120,19 @@
     symbol "location" >> symbol "="
     (RestoredRoute (loc :: Route l l from')) <- (routeParser False :: Parser (RestoredRoute l l))
     (locFrom :: TypeRep l from') <- return (reify (undefined :: from'))
-    (Just (Eq :: TyEq from from')) <- return (itRep `typeRepEq` locFrom)
 
-    comma
+    (Just (eq :: TyEq from from')) <- (return (itRep `typeRepEq` locFrom))
 
-    symbol "log" >> symbol "="
-    (RestoredRoute (log :: Route l from x)) <- (routeParser False :: Parser (RestoredRoute l from))
+    (case eq of
+      Eq -> do 
+        comma
 
-    maybe (fail "Couldn't build cursor") (return . RestoredCursor) $ process root loc log
+        symbol "log" >> symbol "="
+        (RestoredRoute (log :: Route l from x)) <- (routeParser False :: Parser (RestoredRoute l from))
+
+        maybe (fail "Couldn't build cursor") (return . RestoredCursor) $ process root loc log
+      ) :: Parser (RestoredCursor l)
+
     where
       process :: l -> Route l l from -> Route l from x -> Maybe (Cursor l x from)
       process l loc log = do
diff --git a/Data/Cursor/CLASE/Traversal.hs b/Data/Cursor/CLASE/Traversal.hs
--- a/Data/Cursor/CLASE/Traversal.hs
+++ b/Data/Cursor/CLASE/Traversal.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE RankNTypes, MultiParamTypeClasses, TypeFamilies, GADTs, RelaxedPolyRec, PatternSignatures, ScopedTypeVariables #-}
+{-# LANGUAGE RankNTypes, MultiParamTypeClasses, TypeFamilies, GADTs, RelaxedPolyRec, ScopedTypeVariables #-}
 {-# OPTIONS_GHC -Wall -fno-warn-name-shadowing #-}
 module Data.Cursor.CLASE.Traversal(
   Traversal(..),
