diff --git a/haskell-neo4j-client.cabal b/haskell-neo4j-client.cabal
--- a/haskell-neo4j-client.cabal
+++ b/haskell-neo4j-client.cabal
@@ -1,5 +1,5 @@
 name:                haskell-neo4j-client
-version:             0.3.2.0
+version:             0.3.2.1
 synopsis:            A Haskell neo4j client
 description:         
     Library to interact with Neo4j databases. 
diff --git a/src/Database/Neo4j/Traversal.hs b/src/Database/Neo4j/Traversal.hs
--- a/src/Database/Neo4j/Traversal.hs
+++ b/src/Database/Neo4j/Traversal.hs
@@ -53,7 +53,10 @@
 data ReturnFilter = ReturnAll | ReturnAllButStartNode deriving (Eq, Show)
 
 type RelFilter = (RelationshipType, Direction)
+newtype RelFilterT = RelFilterT {runRelFilter :: RelFilter} -- Useful to make a ToJSON instance of the type alias
 
+newtype MaybeUniqueness = MaybeUniqueness {runMaybeUniqueness :: Maybe Uniqueness} -- Useful for ToJSON of type alias
+
 -- | Type containing all info describing a traversal request
 data TraversalDesc = TraversalDesc {
     travOrder :: TraversalOrder,
@@ -66,8 +69,8 @@
 traversalReqBody :: TraversalDesc -> L.ByteString
 traversalReqBody (TraversalDesc ord relfilt uniq depth nodefilt) = J.encode $ J.object [
         "order" .= J.toJSON ord,
-        "relationships" .= relfilt,
-        "uniqueness" .= uniq,
+        "relationships" .= map RelFilterT relfilt,
+        "uniqueness" .= MaybeUniqueness uniq,
         depthField depth,
         "return_filter" .= returnField nodefilt
         ]
@@ -88,19 +91,19 @@
     toJSON ReturnAllButStartNode = J.String "all_but_start_node"
 
 -- | How to codify RelFilter values into JSON
-instance J.ToJSON RelFilter where
-    toJSON (rType, dir) = J.object ["direction" .= dirToJson dir, "type" .= J.toJSON rType]
+instance J.ToJSON RelFilterT where
+    toJSON (RelFilterT (rType, dir)) = J.object ["direction" .= dirToJson dir, "type" .= J.toJSON rType]
         where dirToJson Outgoing = J.String "out"
               dirToJson Incoming = J.String "in"
               dirToJson Any = J.String "all"
 
 -- | How to codify uniqueness values into JSON
-instance J.ToJSON (Maybe Uniqueness) where
-    toJSON Nothing = J.String "none"
-    toJSON (Just NodeGlobal) = J.String "node_global"
-    toJSON (Just RelationshipGlobal) = J.String "relationship_global"
-    toJSON (Just NodePathUnique) = J.String "node_path"
-    toJSON (Just RelationshipPath) = J.String "relationship_path"
+instance J.ToJSON MaybeUniqueness where
+    toJSON (MaybeUniqueness Nothing) = J.String "none"
+    toJSON (MaybeUniqueness (Just NodeGlobal)) = J.String "node_global"
+    toJSON (MaybeUniqueness (Just RelationshipGlobal)) = J.String "relationship_global"
+    toJSON (MaybeUniqueness (Just NodePathUnique)) = J.String "node_path"
+    toJSON (MaybeUniqueness (Just RelationshipPath)) = J.String "relationship_path"
 
 instance Default TraversalDesc where
     def = TraversalDesc {travOrder = BreadthFirst, travRelFilter = [], travUniqueness = Nothing,
diff --git a/src/Database/Neo4j/Types.hs b/src/Database/Neo4j/Types.hs
--- a/src/Database/Neo4j/Types.hs
+++ b/src/Database/Neo4j/Types.hs
@@ -38,6 +38,9 @@
 import qualified Network.HTTP.Conduit as HC
 import qualified Network.HTTP.Types as HT
 
+
+newtype Neo4jVersion = Neo4jVersion {runVersion :: Version}
+
 (<>) :: (Monoid a) => a -> a -> a
 (<>) = mappend
 
@@ -377,7 +380,7 @@
 --             f $ liftM StNeo4j . runInBase . (\(Neo4j r) -> r conn)
 --    restoreM (StNeo4j x) = Neo4j $ const $ restoreM x
 
-instance J.FromJSON Version where
-    parseJSON (J.Object v) = v .: "neo4j_version" >>= (\s -> return $ fst . last $ readP_to_S parseVersion s)
+instance J.FromJSON Neo4jVersion where
+    parseJSON (J.Object v) = liftM (Neo4jVersion . fst . last . readP_to_S parseVersion) (v .: "neo4j_version")
     parseJSON _ = mzero
 
diff --git a/src/Database/Neo4j/Version.hs b/src/Database/Neo4j/Version.hs
--- a/src/Database/Neo4j/Version.hs
+++ b/src/Database/Neo4j/Version.hs
@@ -7,5 +7,5 @@
 import Database.Neo4j.Http
 import Database.Neo4j.Types
 
-getDatabaseVersion :: Neo4j Version
+getDatabaseVersion :: Neo4j Neo4jVersion
 getDatabaseVersion = Neo4j $ \conn -> httpRetrieveSure conn "/db/data"
