diff --git a/Text/ProtocolBuffers/Basic.hs b/Text/ProtocolBuffers/Basic.hs
--- a/Text/ProtocolBuffers/Basic.hs
+++ b/Text/ProtocolBuffers/Basic.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE DeriveDataTypeable,GeneralizedNewtypeDeriving #-}
 -- | "Text.ProtocolBuffers.Basic" defines or re-exports most of the
 -- basic field types; 'Maybe','Bool', 'Double', and 'Float' come from
--- the Prelude instead. This module also defined the 'Mergeable' and
+-- the Prelude instead. This module also defines the 'Mergeable' and
 -- 'Default' classes. The 'Wire' class is not defined here to avoid orphans.
 module Text.ProtocolBuffers.Basic
   ( -- * Basic types for protocol buffer fields in Haskell
@@ -30,7 +30,7 @@
 -- Num instances are derived below for the purpose of getting fromInteger for case matching
 
 -- | 'Utf8' is used to mark 'ByteString' values that (should) contain
--- valud utf8 encoded strings.  This type is used to represent
+-- valid utf8 encoded strings.  This type is used to represent
 -- 'TYPE_STRING' values.
 newtype Utf8 = Utf8 ByteString deriving (Data,Typeable,Eq,Ord)
 
@@ -134,13 +134,13 @@
 -- | 'EnumCode' is the Int32 assoicated with a
 -- EnumValueDescriptorProto and is in the range 0 to 2^31-1.
 newtype EnumCode = EnumCode { getEnumCode :: Int32 }  -- really [0..maxBound::Int32] of some .proto defined enumeration
-  deriving (Eq,Ord,Read,Show,Num,Data,Typeable) 
+  deriving (Eq,Ord,Read,Show,Num,Data,Typeable)
 
 instance Bounded EnumCode where
   minBound = 0
-  maxBound = 2147483647 -- 2^-31 -1 
+  maxBound = 2147483647 -- 2^-31 -1
 
--- | 'WireSize' is the Int64 size type associate with the lazy
+-- | 'WireSize' is the Int64 size type associated with the lazy
 -- bytestrings used in the 'Put' and 'Get' monads.
 type WireSize = Int64
 
@@ -150,7 +150,7 @@
 -- 'mergeConcat' defaults to @foldl@ associativity.
 --
 -- NOTE: 'mergeEmpty' has been removed in protocol buffers version 2.
--- Use defaultValue instead.  New strict fields would mean that required
+-- Use 'defaultValue' instead.  New strict fields would mean that required
 -- fields in messages will be automatic errors with 'mergeEmpty'.
 class Default a => Mergeable a where
 {-
diff --git a/Text/ProtocolBuffers/Extensions.hs b/Text/ProtocolBuffers/Extensions.hs
--- a/Text/ProtocolBuffers/Extensions.hs
+++ b/Text/ProtocolBuffers/Extensions.hs
@@ -12,7 +12,7 @@
 -- 'getVal' and 'isSet'.  These allow uniform access to normal and
 -- extension fields for users.
 --
--- Access to extension fields is strictly though keys.  There is not
+-- Access to extension fields is strictly through keys.  There is not
 -- currently any way to query or change or clear any other extension
 -- field data.
 --
@@ -57,7 +57,7 @@
 -- The 'Key' type (opaque to the user) has a phantom type of Maybe
 -- or Seq that corresponds to Optional or Repeated fields. And a
 -- second phantom type that matches the message type it must be used
--- with.  The third type parameter corresonds to the Haskell value
+-- with.  The third type parameter corresponds to the Haskell value
 -- type.
 --
 -- The 'Key' is a GADT that puts all the needed class instances into
@@ -121,17 +121,17 @@
 
 -- | The 'PackedSeq' is needed to distinguish the packed repeated format from the repeated format.
 -- This is only used in the phantom type of Key.
-newtype PackedSeq a = PackedSeq { unPackedSeq ::  (Seq a) }
+newtype PackedSeq a = PackedSeq { unPackedSeq :: Seq a }
   deriving (Typeable)
 
--- | The WireType is used to ensure the Seq is homogenous.
+-- | The WireType is used to ensure the Seq is homogeneous.
 -- The ByteString is the unparsed input after the tag.
 data ExtFieldValue = ExtFromWire !(Seq EP) -- XXX must store wiretype with ByteString
                    | ExtOptional !FieldType !GPDyn
                    | ExtRepeated !FieldType !GPDynSeq
                    | ExtPacked   !FieldType !GPDynSeq
   deriving (Typeable,Ord,Show)
-           
+
 -- | For making a Data instance for ExtField
 data ExtDataPair = ExtDataPair FieldId (Seq EP)
   deriving (Typeable,Data,Show)
@@ -178,12 +178,11 @@
 
 instance Data ExtField where
   gfoldl f z m = z dataFromList `f` dataToList m
-  gunfold k z c = case constrIndex c of
-                    _ -> k (z dataFromList)
+  gunfold k z c = k (z dataFromList)
   toConstr (ExtField _) = con_ExtField
   dataTypeOf _ = ty_ExtField
 
-  
+
 instance ExtendMessage DummyMessageType where
   getExtField = undefined
   putExtField = undefined
@@ -210,7 +209,7 @@
     in case parseWireExtMaybe key wt s' of
          Right (_,y) -> x==y
          _ -> False
-  (==) y@(ExtFromWire {}) x@(ExtOptional {})  = x == y
+  (==) y@ExtFromWire {} x@ExtOptional {}  = x == y
   (==) x@(ExtRepeated ft (GPDynSeq w)) (ExtFromWire s') =
     let wt = toWireType ft
         makeKeyType :: Seq a -> Key Seq DummyMessageType a
@@ -219,7 +218,7 @@
     in case parseWireExtSeq key wt s' of
          Right (_,y) -> x==y
          _ -> False
-  (==) y@(ExtFromWire {}) x@(ExtRepeated {})  = x == y
+  (==) y@ExtFromWire {} x@ExtRepeated {}  = x == y
   (==) x@(ExtPacked ft (GPDynSeq w)) (ExtFromWire s') =
     let wt = 2 -- all packed types have wire type 2, length delimited
         makeKeyType :: Seq a -> Key PackedSeq DummyMessageType a
@@ -228,7 +227,7 @@
     in case parseWireExtPackedSeq key wt s' of
          Right (_,y) -> x==y
          _ -> False
-  (==) y@(ExtFromWire {}) x@(ExtPacked {})  = x == y
+  (==) y@ExtFromWire {} x@ExtPacked {}  = x == y
   (==) _ _ = False
 
 -- | 'ExtendMessage' abstracts the operations of storing and
@@ -246,7 +245,7 @@
 wireGetKeyToUnPacked k@(Key i t mv) msg = do
   let myCast :: Maybe a -> Get (Seq a)
       myCast = undefined
-  vv <- wireGetPacked t `asTypeOf` (myCast mv)
+  vv <- wireGetPacked t `asTypeOf` myCast mv
   let (ExtField ef) = getExtField msg
   v' <- case M.lookup i ef of
           Nothing -> return $ ExtRepeated t (GPDynSeq vv)
@@ -277,7 +276,7 @@
   let wt = toWireType t
       myCast :: Maybe a -> Get a
       myCast = undefined
-  v <- wireGet t `asTypeOf` (myCast mv)
+  v <- wireGet t `asTypeOf` myCast mv
   let (ExtField ef) = getExtField msg
   v' <- case M.lookup i ef of
           Nothing -> return $ ExtPacked t (GPDynSeq (Seq.singleton v))
@@ -450,13 +449,13 @@
            case cast d of
              Nothing -> Left $ "getExt Maybe: Key's value cast failed: "++show (k,typeOf d)
              Just d' -> Right (Just d')
-         getExt' (ExtFromWire {}) = err $ "Impossible? getExt.getExt' Maybe should not have ExtFromWire case (after parseWireExt)!"
+         getExt' ExtFromWire {} = err "Impossible? getExt.getExt' Maybe should not have ExtFromWire case (after parseWireExt)!"
 
   wireGetKey k@(Key i t mv) msg = do
     let wt = toWireType t
         myCast :: Maybe a -> Get a
         myCast = undefined
-    v <- wireGet t `asTypeOf` (myCast mv)
+    v <- wireGet t `asTypeOf` myCast mv
     let (ExtField ef) = getExtField msg
     v' <- case M.lookup i ef of
             Nothing -> return $ ExtOptional t (GPDyn v)
diff --git a/protocol-buffers.cabal b/protocol-buffers.cabal
--- a/protocol-buffers.cabal
+++ b/protocol-buffers.cabal
@@ -1,5 +1,5 @@
 name:           protocol-buffers
-version:        2.1.9
+version:        2.1.10
 cabal-version:  >= 1.6
 build-type:     Simple
 license:        BSD3
