diff --git a/mssql-simple.cabal b/mssql-simple.cabal
--- a/mssql-simple.cabal
+++ b/mssql-simple.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: a2df8ed81dd9de80929250fca8c1a1e6d0f352cead28b201c8aa6ed2f1c96799
+-- hash: ce45e18b51d6a27d8da6861aa66f82765b962a87bcee07a258ba6f1df32fc644
 
 name:           mssql-simple
-version:        0.1.0.3
+version:        0.1.0.4
 synopsis:       SQL Server client library implemented in Haskell
 description:    Please see the README on GitHub at <https://github.com/mitsuji/mssql-simple#readme>
 category:       Database
diff --git a/src/Database/MSSQLServer/Connection.hs b/src/Database/MSSQLServer/Connection.hs
--- a/src/Database/MSSQLServer/Connection.hs
+++ b/src/Database/MSSQLServer/Connection.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE DeriveDataTypeable #-}
 
 module Database.MSSQLServer.Connection ( ConnectInfo(..)
                                        , Connection(..)
@@ -14,7 +15,7 @@
 import Network.Socket.ByteString (recv)
 import Network.Socket.ByteString.Lazy (sendAll)
 
-import Data.Monoid ((<>))
+import Data.Monoid ((<>),mempty)
 
 import qualified Data.ByteString as B
 import qualified Data.ByteString.Lazy as LB
@@ -37,14 +38,14 @@
 import Database.Tds.Transport (contextNew)
 
 import Data.Word (Word8)
-
+import Data.Typeable(Typeable)
 
 data ProtocolError = ProtocolError String
-                   deriving (Show)
+                   deriving (Show,Typeable)
 instance Exception ProtocolError
 
 data AuthError = AuthError !Info
-               deriving (Show)
+               deriving (Show,Typeable)
 instance Exception AuthError
 
 
diff --git a/src/Database/MSSQLServer/Query.hs b/src/Database/MSSQLServer/Query.hs
--- a/src/Database/MSSQLServer/Query.hs
+++ b/src/Database/MSSQLServer/Query.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE DeriveDataTypeable #-}
 
 module Database.MSSQLServer.Query ( -- * SQL Text Query
                                     sql
@@ -29,6 +30,7 @@
                                   ) where
 
 import Data.Monoid ((<>))
+import Data.Typeable(Typeable)
 
 import Network.Socket (Socket)
 import Network.Socket.ByteString (recv)
@@ -55,7 +57,7 @@
 
 
 data QueryError = QueryError !Info
-                deriving (Show)
+                deriving (Show,Typeable)
 
 instance Exception QueryError
 
diff --git a/src/Database/MSSQLServer/Query/ResultSet.hs b/src/Database/MSSQLServer/Query/ResultSet.hs
--- a/src/Database/MSSQLServer/Query/ResultSet.hs
+++ b/src/Database/MSSQLServer/Query/ResultSet.hs
@@ -8,6 +8,7 @@
                                             ) where
 
 
+import Control.Applicative((<$>),(<*>))
 import Database.Tds.Message
 import Database.MSSQLServer.Query.Only
 
diff --git a/src/Database/MSSQLServer/Query/RpcQuerySet.hs b/src/Database/MSSQLServer/Query/RpcQuerySet.hs
--- a/src/Database/MSSQLServer/Query/RpcQuerySet.hs
+++ b/src/Database/MSSQLServer/Query/RpcQuerySet.hs
@@ -1,7 +1,6 @@
 {-# OPTIONS_HADDOCK hide #-}
 {-# LANGUAGE BangPatterns #-}
 {-# LANGUAGE FlexibleInstances #-}
-{-# LANGUAGE BinaryLiterals #-}
 
 
 module Database.MSSQLServer.Query.RpcQuerySet ( RpcQuerySet (..)
@@ -15,6 +14,7 @@
                                               ) where
 
 
+import Control.Applicative((<$>),(<*>))
 import qualified Data.Text as T
 import Data.Word (Word16(..))
 
@@ -214,9 +214,9 @@
 rpcReqBatchParam :: (Data a) => RpcParam a -> RpcReqBatchParam
 rpcReqBatchParam = f
   where
-    f (RpcParamVal name ti dt) = RpcReqBatchParam name 0b00 ti (toRawBytes ti dt)
-    f (RpcParamRef name ti dt) = RpcReqBatchParam name 0b01 ti (toRawBytes ti dt)
-    f (RpcParamDefVal name ti dt) = RpcReqBatchParam name 0b10 ti (toRawBytes ti dt)
-    f (RpcParamDefRef name ti dt) = RpcReqBatchParam name 0b11 ti (toRawBytes ti dt)
+    f (RpcParamVal name ti dt) = RpcReqBatchParam name 0 ti (toRawBytes ti dt)
+    f (RpcParamRef name ti dt) = RpcReqBatchParam name 1 ti (toRawBytes ti dt)
+    f (RpcParamDefVal name ti dt) = RpcReqBatchParam name 2 ti (toRawBytes ti dt)
+    f (RpcParamDefRef name ti dt) = RpcReqBatchParam name 3 ti (toRawBytes ti dt)
 
 
diff --git a/src/Database/MSSQLServer/Query/RpcResultSet.hs b/src/Database/MSSQLServer/Query/RpcResultSet.hs
--- a/src/Database/MSSQLServer/Query/RpcResultSet.hs
+++ b/src/Database/MSSQLServer/Query/RpcResultSet.hs
@@ -7,6 +7,7 @@
                                                , RpcOutputSet (..)
                                                ) where
 
+import Control.Applicative((<$>),(<*>))
 import Database.Tds.Message
 import Database.MSSQLServer.Query.ResultSet (ResultSet(..))
 import Database.MSSQLServer.Query.Only
