diff --git a/proto-lens.cabal b/proto-lens.cabal
--- a/proto-lens.cabal
+++ b/proto-lens.cabal
@@ -1,5 +1,5 @@
 name:                proto-lens
-version:             0.2.0.0
+version:             0.2.0.1
 synopsis:            A lens-based implementation of protocol buffers in Haskell.
 description:
   The proto-lens library provides to protocol buffers using modern
diff --git a/src/Data/ProtoLens/Encoding.hs b/src/Data/ProtoLens/Encoding.hs
--- a/src/Data/ProtoLens/Encoding.hs
+++ b/src/Data/ProtoLens/Encoding.hs
@@ -24,8 +24,8 @@
 import Data.ProtoLens.Encoding.Bytes
 import Data.ProtoLens.Encoding.Wire
 
-import Control.Applicative ((<|>), (<$>))
-import Control.Monad (foldM, guard, join)
+import Control.Applicative ((<|>))
+import Control.Monad (guard)
 import Data.Attoparsec.ByteString as Parse
 import Data.Bool (bool)
 import Data.Text.Encoding (encodeUtf8, decodeUtf8')
@@ -34,10 +34,7 @@
 import qualified Data.Map.Strict as Map
 import Data.ByteString.Lazy.Builder as Builder
 import qualified Data.ByteString.Lazy as L
-import Data.Monoid (mconcat, mempty)
-import Data.Foldable (foldMap, toList, foldl')
 import Lens.Family2 (set, over, (^.), (&))
-import Data.Functor.Identity (Identity(..))
 
 -- TODO: We could be more incremental when parsing/encoding length-based fields,
 -- rather than forcing the whole thing.  E.g., for encoding we're doing extra
diff --git a/src/Data/ProtoLens/Encoding/Wire.hs b/src/Data/ProtoLens/Encoding/Wire.hs
--- a/src/Data/ProtoLens/Encoding/Wire.hs
+++ b/src/Data/ProtoLens/Encoding/Wire.hs
@@ -24,11 +24,8 @@
 import Data.Attoparsec.ByteString as Parse
 import Data.Bits
 import qualified Data.ByteString as B
-import qualified Data.ByteString.Lazy as BL
 import Data.ByteString.Lazy.Builder as Builder
-import Data.Foldable (foldMap)
-import Data.Monoid ((<>), mempty)
-import Data.Void (Void)
+import Data.Monoid ((<>))
 import Data.Word
 
 import Data.ProtoLens.Encoding.Bytes
@@ -72,8 +69,8 @@
 getWireValue Fixed64 _ = anyBits
 getWireValue Fixed32 _ = anyBits
 getWireValue Lengthy _ = getVarInt >>= Parse.take . fromIntegral
-getWireValue StartGroup tag = return ()
-getWireValue EndGroup tag = return ()
+getWireValue StartGroup _ = return ()
+getWireValue EndGroup _ = return ()
 
 putWireValue :: WireType a -> a -> Builder
 putWireValue VarInt n = putVarInt n
diff --git a/src/Data/ProtoLens/Message/Enum.hs b/src/Data/ProtoLens/Message/Enum.hs
--- a/src/Data/ProtoLens/Message/Enum.hs
+++ b/src/Data/ProtoLens/Message/Enum.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE ScopedTypeVariables #-}
 -- | This internal module provides functions used to define the various
 -- @enumFrom*@ functions of 'Enum'.
 --
@@ -69,7 +70,7 @@
     EQ -> repeat start
     GT -> messageEnumFromThenTo start step minBound
 
-messageEnumFromThenTo :: Enum a => a -> a -> a -> [a]
+messageEnumFromThenTo :: forall a . Enum a => a -> a -> a -> [a]
 messageEnumFromThenTo start step stop = case comparing fromEnum start step of
     LT -> helper succ GT
     EQ -> if stopInt >= stepInt then repeat start else []
@@ -90,6 +91,7 @@
             | stopInt == fromEnum a = Nothing
             | otherwise = jump (n-1) $ iter a
         unfoldIter a = (a, jump skipCount a)
+        countSkips :: Integer -> a -> Integer
         countSkips n start'
             | stepInt == fromEnum start' = n
             | otherwise = countSkips (n+1) $ iter start'
diff --git a/src/Data/ProtoLens/TextFormat.hs b/src/Data/ProtoLens/TextFormat.hs
--- a/src/Data/ProtoLens/TextFormat.hs
+++ b/src/Data/ProtoLens/TextFormat.hs
@@ -18,7 +18,6 @@
     ) where
 
 import Lens.Family2 ((&),(^.),(.~), set, over)
-import Control.Applicative ((<$>))
 import Control.Arrow (left)
 import qualified Data.ByteString
 import Data.Char (isPrint, isAscii, chr)
diff --git a/src/Data/ProtoLens/TextFormat/Parser.hs b/src/Data/ProtoLens/TextFormat/Parser.hs
--- a/src/Data/ProtoLens/TextFormat/Parser.hs
+++ b/src/Data/ProtoLens/TextFormat/Parser.hs
@@ -19,7 +19,6 @@
 import Data.Functor.Identity (Identity)
 import Data.List (intercalate)
 import Data.Maybe (catMaybes)
-import Data.Monoid (mconcat)
 import Data.Text.Lazy (Text)
 import Data.Word (Word8)
 import Numeric (readOct, readHex)
@@ -28,7 +27,7 @@
 import Text.Parsec.Text.Lazy (Parser)
 import Text.Parsec.Combinator (choice, eof, many1, optionMaybe, sepBy1)
 import Text.Parsec.Token hiding (octal)
-import Control.Applicative ((<*), (<|>), (*>), many)
+import Control.Applicative ((<|>), many)
 import Control.Monad (liftM, liftM2, mzero)
 
 -- | A 'TokenParser' for the protobuf text format.
