diff --git a/dist/build/autogen/Proto/Combinators.hs b/dist/build/autogen/Proto/Combinators.hs
--- a/dist/build/autogen/Proto/Combinators.hs
+++ b/dist/build/autogen/Proto/Combinators.hs
@@ -1,12 +1,13 @@
 {- This file was auto-generated from combinators.proto by the proto-lens-protoc program. -}
 {-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
   UndecidableInstances, MultiParamTypeClasses, FlexibleContexts,
-  FlexibleInstances, PatternSynonyms, MagicHash #-}
+  FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude
+  #-}
 {-# OPTIONS_GHC -fno-warn-unused-imports#-}
 module Proto.Combinators where
-import qualified Prelude
-import qualified Data.Int
-import qualified Data.Word
+import qualified Data.ProtoLens.Reexport.Prelude as Prelude
+import qualified Data.ProtoLens.Reexport.Data.Int as Data.Int
+import qualified Data.ProtoLens.Reexport.Data.Word as Data.Word
 import qualified Data.ProtoLens.Reexport.Data.ProtoLens
        as Data.ProtoLens
 import qualified
@@ -199,96 +200,84 @@
                     ("buzz", buzz__field_descriptor)])
 
 bar ::
-    forall x f s t a b .
-      (Prelude.Functor f, Lens.Labels.HasLens "bar" f s t a b) =>
+    forall f s t a b . (Lens.Labels.HasLens "bar" f s t a b) =>
       Lens.Family2.LensLike f s t a b
 bar
   = Lens.Labels.lensOf
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "bar")
 
 baz ::
-    forall x f s t a b .
-      (Prelude.Functor f, Lens.Labels.HasLens "baz" f s t a b) =>
+    forall f s t a b . (Lens.Labels.HasLens "baz" f s t a b) =>
       Lens.Family2.LensLike f s t a b
 baz
   = Lens.Labels.lensOf
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "baz")
 
 buzz ::
-     forall x f s t a b .
-       (Prelude.Functor f, Lens.Labels.HasLens "buzz" f s t a b) =>
+     forall f s t a b . (Lens.Labels.HasLens "buzz" f s t a b) =>
        Lens.Family2.LensLike f s t a b
 buzz
   = Lens.Labels.lensOf
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "buzz")
 
 fizz ::
-     forall x f s t a b .
-       (Prelude.Functor f, Lens.Labels.HasLens "fizz" f s t a b) =>
+     forall f s t a b . (Lens.Labels.HasLens "fizz" f s t a b) =>
        Lens.Family2.LensLike f s t a b
 fizz
   = Lens.Labels.lensOf
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "fizz")
 
 foo ::
-    forall x f s t a b .
-      (Prelude.Functor f, Lens.Labels.HasLens "foo" f s t a b) =>
+    forall f s t a b . (Lens.Labels.HasLens "foo" f s t a b) =>
       Lens.Family2.LensLike f s t a b
 foo
   = Lens.Labels.lensOf
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "foo")
 
 maybe'bar ::
-          forall x f s t a b .
-            (Prelude.Functor f, Lens.Labels.HasLens "maybe'bar" f s t a b) =>
+          forall f s t a b . (Lens.Labels.HasLens "maybe'bar" f s t a b) =>
             Lens.Family2.LensLike f s t a b
 maybe'bar
   = Lens.Labels.lensOf
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'bar")
 
 maybe'baz ::
-          forall x f s t a b .
-            (Prelude.Functor f, Lens.Labels.HasLens "maybe'baz" f s t a b) =>
+          forall f s t a b . (Lens.Labels.HasLens "maybe'baz" f s t a b) =>
             Lens.Family2.LensLike f s t a b
 maybe'baz
   = Lens.Labels.lensOf
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'baz")
 
 maybe'buzz ::
-           forall x f s t a b .
-             (Prelude.Functor f, Lens.Labels.HasLens "maybe'buzz" f s t a b) =>
+           forall f s t a b . (Lens.Labels.HasLens "maybe'buzz" f s t a b) =>
              Lens.Family2.LensLike f s t a b
 maybe'buzz
   = Lens.Labels.lensOf
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'buzz")
 
 maybe'fizz ::
-           forall x f s t a b .
-             (Prelude.Functor f, Lens.Labels.HasLens "maybe'fizz" f s t a b) =>
+           forall f s t a b . (Lens.Labels.HasLens "maybe'fizz" f s t a b) =>
              Lens.Family2.LensLike f s t a b
 maybe'fizz
   = Lens.Labels.lensOf
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'fizz")
 
 maybe'foo ::
-          forall x f s t a b .
-            (Prelude.Functor f, Lens.Labels.HasLens "maybe'foo" f s t a b) =>
+          forall f s t a b . (Lens.Labels.HasLens "maybe'foo" f s t a b) =>
             Lens.Family2.LensLike f s t a b
 maybe'foo
   = Lens.Labels.lensOf
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'foo")
 
 maybe'quux ::
-           forall x f s t a b .
-             (Prelude.Functor f, Lens.Labels.HasLens "maybe'quux" f s t a b) =>
+           forall f s t a b . (Lens.Labels.HasLens "maybe'quux" f s t a b) =>
              Lens.Family2.LensLike f s t a b
 maybe'quux
   = Lens.Labels.lensOf
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'quux")
 
 quux ::
-     forall x f s t a b .
-       (Prelude.Functor f, Lens.Labels.HasLens "quux" f s t a b) =>
+     forall f s t a b . (Lens.Labels.HasLens "quux" f s t a b) =>
        Lens.Family2.LensLike f s t a b
 quux
   = Lens.Labels.lensOf
diff --git a/proto-lens-combinators.cabal b/proto-lens-combinators.cabal
--- a/proto-lens-combinators.cabal
+++ b/proto-lens-combinators.cabal
@@ -1,5 +1,5 @@
 name:                proto-lens-combinators
-version:             0.1.0.6
+version:             0.1.0.7
 synopsis:            Utilities functions to proto-lens.
 description:
   Useful things for working with protos.
@@ -14,6 +14,11 @@
 build-type:          Custom
 cabal-version:       >=1.10
 extra-source-files:  tests/combinators.proto
+
+custom-setup
+  setup-depends: base >= 4.8 && < 4.10
+               , Cabal
+               , proto-lens-protoc == 0.2.*
 
 library
   default-language: Haskell2010
