diff --git a/fields-json.cabal b/fields-json.cabal
--- a/fields-json.cabal
+++ b/fields-json.cabal
@@ -1,5 +1,5 @@
 Name:                fields-json
-Version:             0.2
+Version:             0.2.1
 Synopsis: Abusing monadic syntax JSON objects generation.            
 
 Description: 
@@ -13,7 +13,7 @@
 Stability:           Development
 Category:            Web
 Build-type:          Simple
-Cabal-version:       >=1.4
+Cabal-version:       >=1.6
 
 
 library
@@ -24,7 +24,7 @@
      Text.JSON.JSValueContainer
 
   hs-source-dirs: src 
-  GHC-Options: -Werror
+  GHC-Options: -Wall
   build-depends: base >= 4 && < 5
   build-depends: json >= 0.4.4
   build-depends: containers
@@ -40,3 +40,7 @@
                  GeneralizedNewtypeDeriving,
                  MultiParamTypeClasses,
                  StandaloneDeriving
+
+source-repository head
+    type: git
+    location: git://github.com/scrive/fields-json.git
diff --git a/src/Text/JSON/FromJSValue.hs b/src/Text/JSON/FromJSValue.hs
--- a/src/Text/JSON/FromJSValue.hs
+++ b/src/Text/JSON/FromJSValue.hs
@@ -32,7 +32,6 @@
 import Data.Ratio
 import Control.Monad.Identity
 import Data.Maybe
-import Text.JSON.String
 
 
 -- | Structures that can be 'parsed' from JSON. Instances must declare either 'fromJSValue' (parse directly from 'JSValue') or 'fromJSValueM' (uses 'MonadReader')
@@ -78,6 +77,11 @@
 instance (FromJSValue a) => FromJSValue (Maybe a) where
     fromJSValue = join . fromJSValue
 
+instance (FromJSValue a, FromJSValue b) => FromJSValue (a,b) where
+    fromJSValue (JSArray [a,b]) = do a' <- fromJSValue a
+                                     b' <- fromJSValue b
+                                     return (a',b')
+    fromJSValue _ = Nothing
 
 -- ----------------------------------------------------------------
 
diff --git a/src/Text/JSON/Gen.hs b/src/Text/JSON/Gen.hs
--- a/src/Text/JSON/Gen.hs
+++ b/src/Text/JSON/Gen.hs
@@ -54,9 +54,7 @@
 import Control.Monad.Trans
 import Control.Monad.State.Strict
 import Control.Monad.Reader
-import Control.Monad.Reader.Class
 
-import Data.Foldable
 import Data.Sequence as S
 import Text.JSON
 import Text.JSON.ToJSValue
diff --git a/src/Text/JSON/JSValueContainer.hs b/src/Text/JSON/JSValueContainer.hs
--- a/src/Text/JSON/JSValueContainer.hs
+++ b/src/Text/JSON/JSValueContainer.hs
@@ -18,7 +18,6 @@
 import Text.JSON
 import Data.Sequence as S
 import Data.Foldable
-import Text.JSON
 
 class JSValueContainer a where
     getJSValue :: a -> JSValue
diff --git a/src/Text/JSON/ToJSValue.hs b/src/Text/JSON/ToJSValue.hs
--- a/src/Text/JSON/ToJSValue.hs
+++ b/src/Text/JSON/ToJSValue.hs
@@ -40,3 +40,6 @@
 
 instance ToJSValue a => ToJSValue (Maybe a) where
   toJSValue = maybe JSNull toJSValue
+
+instance (ToJSValue a, ToJSValue b) => ToJSValue (a,b) where
+  toJSValue (a,b) = JSArray [toJSValue a, toJSValue b]
