diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,5 +1,10 @@
 # Changelog for `proto-lens-protobuf-types`
 
+## v0.3.0.2
+- Bump the lower bound on `base` to indicate we require `ghc>=8.0`.
+- Use autogen-modules. (#196)
+- Use OverloadedLabels internally, ratehr than the `_Fields` modules. (#198)
+
 ## v0.3.0.1
 - Bump the dependency on `base` for `ghc-8.4.2`.
 
diff --git a/dist/build/autogen/Proto/Google/Protobuf/Any.hs b/dist/build/autogen/Proto/Google/Protobuf/Any.hs
deleted file mode 100644
--- a/dist/build/autogen/Proto/Google/Protobuf/Any.hs
+++ /dev/null
@@ -1,96 +0,0 @@
-{- This file was auto-generated from google/protobuf/any.proto by the proto-lens-protoc program. -}
-{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
-  UndecidableInstances, GeneralizedNewtypeDeriving,
-  MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,
-  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports#-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
-module Proto.Google.Protobuf.Any (Any(..)) where
-import qualified Data.ProtoLens.Reexport.Lens.Labels.Prism
-       as Lens.Labels.Prism
-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
-       Data.ProtoLens.Reexport.Data.ProtoLens.Message.Enum
-       as Data.ProtoLens.Message.Enum
-import qualified
-       Data.ProtoLens.Reexport.Data.ProtoLens.Service.Types
-       as Data.ProtoLens.Service.Types
-import qualified Data.ProtoLens.Reexport.Lens.Family2
-       as Lens.Family2
-import qualified Data.ProtoLens.Reexport.Lens.Family2.Unchecked
-       as Lens.Family2.Unchecked
-import qualified Data.ProtoLens.Reexport.Data.Default.Class
-       as Data.Default.Class
-import qualified Data.ProtoLens.Reexport.Data.Text as Data.Text
-import qualified Data.ProtoLens.Reexport.Data.Map as Data.Map
-import qualified Data.ProtoLens.Reexport.Data.ByteString
-       as Data.ByteString
-import qualified Data.ProtoLens.Reexport.Data.ByteString.Char8
-       as Data.ByteString.Char8
-import qualified Data.ProtoLens.Reexport.Lens.Labels as Lens.Labels
-import qualified Data.ProtoLens.Reexport.Text.Read as Text.Read
-
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Any_Fields.typeUrl' @:: Lens' Any Data.Text.Text@
-    * 'Proto.Google.Protobuf.Any_Fields.value' @:: Lens' Any Data.ByteString.ByteString@
- -}
-data Any = Any{_Any'typeUrl :: !Data.Text.Text,
-               _Any'value :: !Data.ByteString.ByteString,
-               _Any'_unknownFields :: !Data.ProtoLens.FieldSet}
-         deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f Any x a, a ~ b) =>
-         Lens.Labels.HasLens f Any Any x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f Any "typeUrl" (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _Any'typeUrl
-                 (\ x__ y__ -> x__{_Any'typeUrl = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f Any "value" (Data.ByteString.ByteString)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _Any'value
-                 (\ x__ y__ -> x__{_Any'value = y__}))
-              Prelude.id
-instance Data.Default.Class.Default Any where
-        def
-          = Any{_Any'typeUrl = Data.ProtoLens.fieldDefault,
-                _Any'value = Data.ProtoLens.fieldDefault,
-                _Any'_unknownFields = ([])}
-instance Data.ProtoLens.Message Any where
-        messageName _ = Data.Text.pack "google.protobuf.Any"
-        fieldsByTag
-          = let typeUrl__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "type_url"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "typeUrl")))
-                      :: Data.ProtoLens.FieldDescriptor Any
-                value__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "value")))
-                      :: Data.ProtoLens.FieldDescriptor Any
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, typeUrl__field_descriptor),
-                 (Data.ProtoLens.Tag 2, value__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _Any'_unknownFields
-              (\ x__ y__ -> x__{_Any'_unknownFields = y__})
diff --git a/dist/build/autogen/Proto/Google/Protobuf/Any_Fields.hs b/dist/build/autogen/Proto/Google/Protobuf/Any_Fields.hs
deleted file mode 100644
--- a/dist/build/autogen/Proto/Google/Protobuf/Any_Fields.hs
+++ /dev/null
@@ -1,46 +0,0 @@
-{- This file was auto-generated from google/protobuf/any.proto by the proto-lens-protoc program. -}
-{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
-  UndecidableInstances, GeneralizedNewtypeDeriving,
-  MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,
-  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports#-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
-module Proto.Google.Protobuf.Any_Fields where
-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
-       Data.ProtoLens.Reexport.Data.ProtoLens.Message.Enum
-       as Data.ProtoLens.Message.Enum
-import qualified
-       Data.ProtoLens.Reexport.Data.ProtoLens.Service.Types
-       as Data.ProtoLens.Service.Types
-import qualified Data.ProtoLens.Reexport.Lens.Family2
-       as Lens.Family2
-import qualified Data.ProtoLens.Reexport.Lens.Family2.Unchecked
-       as Lens.Family2.Unchecked
-import qualified Data.ProtoLens.Reexport.Data.Default.Class
-       as Data.Default.Class
-import qualified Data.ProtoLens.Reexport.Data.Text as Data.Text
-import qualified Data.ProtoLens.Reexport.Data.Map as Data.Map
-import qualified Data.ProtoLens.Reexport.Data.ByteString
-       as Data.ByteString
-import qualified Data.ProtoLens.Reexport.Data.ByteString.Char8
-       as Data.ByteString.Char8
-import qualified Data.ProtoLens.Reexport.Lens.Labels as Lens.Labels
-import qualified Data.ProtoLens.Reexport.Text.Read as Text.Read
-
-typeUrl ::
-        forall f s t a b . (Lens.Labels.HasLens f s t "typeUrl" a b) =>
-          Lens.Family2.LensLike f s t a b
-typeUrl
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "typeUrl")
-value ::
-      forall f s t a b . (Lens.Labels.HasLens f s t "value" a b) =>
-        Lens.Family2.LensLike f s t a b
-value
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "value")
diff --git a/dist/build/autogen/Proto/Google/Protobuf/Duration.hs b/dist/build/autogen/Proto/Google/Protobuf/Duration.hs
deleted file mode 100644
--- a/dist/build/autogen/Proto/Google/Protobuf/Duration.hs
+++ /dev/null
@@ -1,96 +0,0 @@
-{- This file was auto-generated from google/protobuf/duration.proto by the proto-lens-protoc program. -}
-{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
-  UndecidableInstances, GeneralizedNewtypeDeriving,
-  MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,
-  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports#-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
-module Proto.Google.Protobuf.Duration (Duration(..)) where
-import qualified Data.ProtoLens.Reexport.Lens.Labels.Prism
-       as Lens.Labels.Prism
-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
-       Data.ProtoLens.Reexport.Data.ProtoLens.Message.Enum
-       as Data.ProtoLens.Message.Enum
-import qualified
-       Data.ProtoLens.Reexport.Data.ProtoLens.Service.Types
-       as Data.ProtoLens.Service.Types
-import qualified Data.ProtoLens.Reexport.Lens.Family2
-       as Lens.Family2
-import qualified Data.ProtoLens.Reexport.Lens.Family2.Unchecked
-       as Lens.Family2.Unchecked
-import qualified Data.ProtoLens.Reexport.Data.Default.Class
-       as Data.Default.Class
-import qualified Data.ProtoLens.Reexport.Data.Text as Data.Text
-import qualified Data.ProtoLens.Reexport.Data.Map as Data.Map
-import qualified Data.ProtoLens.Reexport.Data.ByteString
-       as Data.ByteString
-import qualified Data.ProtoLens.Reexport.Data.ByteString.Char8
-       as Data.ByteString.Char8
-import qualified Data.ProtoLens.Reexport.Lens.Labels as Lens.Labels
-import qualified Data.ProtoLens.Reexport.Text.Read as Text.Read
-
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Duration_Fields.seconds' @:: Lens' Duration Data.Int.Int64@
-    * 'Proto.Google.Protobuf.Duration_Fields.nanos' @:: Lens' Duration Data.Int.Int32@
- -}
-data Duration = Duration{_Duration'seconds :: !Data.Int.Int64,
-                         _Duration'nanos :: !Data.Int.Int32,
-                         _Duration'_unknownFields :: !Data.ProtoLens.FieldSet}
-              deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f Duration x a, a ~ b) =>
-         Lens.Labels.HasLens f Duration Duration x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f Duration "seconds" (Data.Int.Int64)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _Duration'seconds
-                 (\ x__ y__ -> x__{_Duration'seconds = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f Duration "nanos" (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _Duration'nanos
-                 (\ x__ y__ -> x__{_Duration'nanos = y__}))
-              Prelude.id
-instance Data.Default.Class.Default Duration where
-        def
-          = Duration{_Duration'seconds = Data.ProtoLens.fieldDefault,
-                     _Duration'nanos = Data.ProtoLens.fieldDefault,
-                     _Duration'_unknownFields = ([])}
-instance Data.ProtoLens.Message Duration where
-        messageName _ = Data.Text.pack "google.protobuf.Duration"
-        fieldsByTag
-          = let seconds__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "seconds"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "seconds")))
-                      :: Data.ProtoLens.FieldDescriptor Duration
-                nanos__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "nanos"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "nanos")))
-                      :: Data.ProtoLens.FieldDescriptor Duration
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, seconds__field_descriptor),
-                 (Data.ProtoLens.Tag 2, nanos__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _Duration'_unknownFields
-              (\ x__ y__ -> x__{_Duration'_unknownFields = y__})
diff --git a/dist/build/autogen/Proto/Google/Protobuf/Duration_Fields.hs b/dist/build/autogen/Proto/Google/Protobuf/Duration_Fields.hs
deleted file mode 100644
--- a/dist/build/autogen/Proto/Google/Protobuf/Duration_Fields.hs
+++ /dev/null
@@ -1,46 +0,0 @@
-{- This file was auto-generated from google/protobuf/duration.proto by the proto-lens-protoc program. -}
-{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
-  UndecidableInstances, GeneralizedNewtypeDeriving,
-  MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,
-  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports#-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
-module Proto.Google.Protobuf.Duration_Fields where
-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
-       Data.ProtoLens.Reexport.Data.ProtoLens.Message.Enum
-       as Data.ProtoLens.Message.Enum
-import qualified
-       Data.ProtoLens.Reexport.Data.ProtoLens.Service.Types
-       as Data.ProtoLens.Service.Types
-import qualified Data.ProtoLens.Reexport.Lens.Family2
-       as Lens.Family2
-import qualified Data.ProtoLens.Reexport.Lens.Family2.Unchecked
-       as Lens.Family2.Unchecked
-import qualified Data.ProtoLens.Reexport.Data.Default.Class
-       as Data.Default.Class
-import qualified Data.ProtoLens.Reexport.Data.Text as Data.Text
-import qualified Data.ProtoLens.Reexport.Data.Map as Data.Map
-import qualified Data.ProtoLens.Reexport.Data.ByteString
-       as Data.ByteString
-import qualified Data.ProtoLens.Reexport.Data.ByteString.Char8
-       as Data.ByteString.Char8
-import qualified Data.ProtoLens.Reexport.Lens.Labels as Lens.Labels
-import qualified Data.ProtoLens.Reexport.Text.Read as Text.Read
-
-nanos ::
-      forall f s t a b . (Lens.Labels.HasLens f s t "nanos" a b) =>
-        Lens.Family2.LensLike f s t a b
-nanos
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "nanos")
-seconds ::
-        forall f s t a b . (Lens.Labels.HasLens f s t "seconds" a b) =>
-          Lens.Family2.LensLike f s t a b
-seconds
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "seconds")
diff --git a/dist/build/autogen/Proto/Google/Protobuf/Timestamp.hs b/dist/build/autogen/Proto/Google/Protobuf/Timestamp.hs
deleted file mode 100644
--- a/dist/build/autogen/Proto/Google/Protobuf/Timestamp.hs
+++ /dev/null
@@ -1,96 +0,0 @@
-{- This file was auto-generated from google/protobuf/timestamp.proto by the proto-lens-protoc program. -}
-{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
-  UndecidableInstances, GeneralizedNewtypeDeriving,
-  MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,
-  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports#-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
-module Proto.Google.Protobuf.Timestamp (Timestamp(..)) where
-import qualified Data.ProtoLens.Reexport.Lens.Labels.Prism
-       as Lens.Labels.Prism
-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
-       Data.ProtoLens.Reexport.Data.ProtoLens.Message.Enum
-       as Data.ProtoLens.Message.Enum
-import qualified
-       Data.ProtoLens.Reexport.Data.ProtoLens.Service.Types
-       as Data.ProtoLens.Service.Types
-import qualified Data.ProtoLens.Reexport.Lens.Family2
-       as Lens.Family2
-import qualified Data.ProtoLens.Reexport.Lens.Family2.Unchecked
-       as Lens.Family2.Unchecked
-import qualified Data.ProtoLens.Reexport.Data.Default.Class
-       as Data.Default.Class
-import qualified Data.ProtoLens.Reexport.Data.Text as Data.Text
-import qualified Data.ProtoLens.Reexport.Data.Map as Data.Map
-import qualified Data.ProtoLens.Reexport.Data.ByteString
-       as Data.ByteString
-import qualified Data.ProtoLens.Reexport.Data.ByteString.Char8
-       as Data.ByteString.Char8
-import qualified Data.ProtoLens.Reexport.Lens.Labels as Lens.Labels
-import qualified Data.ProtoLens.Reexport.Text.Read as Text.Read
-
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Timestamp_Fields.seconds' @:: Lens' Timestamp Data.Int.Int64@
-    * 'Proto.Google.Protobuf.Timestamp_Fields.nanos' @:: Lens' Timestamp Data.Int.Int32@
- -}
-data Timestamp = Timestamp{_Timestamp'seconds :: !Data.Int.Int64,
-                           _Timestamp'nanos :: !Data.Int.Int32,
-                           _Timestamp'_unknownFields :: !Data.ProtoLens.FieldSet}
-               deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f Timestamp x a, a ~ b) =>
-         Lens.Labels.HasLens f Timestamp Timestamp x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f Timestamp "seconds" (Data.Int.Int64)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _Timestamp'seconds
-                 (\ x__ y__ -> x__{_Timestamp'seconds = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f Timestamp "nanos" (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _Timestamp'nanos
-                 (\ x__ y__ -> x__{_Timestamp'nanos = y__}))
-              Prelude.id
-instance Data.Default.Class.Default Timestamp where
-        def
-          = Timestamp{_Timestamp'seconds = Data.ProtoLens.fieldDefault,
-                      _Timestamp'nanos = Data.ProtoLens.fieldDefault,
-                      _Timestamp'_unknownFields = ([])}
-instance Data.ProtoLens.Message Timestamp where
-        messageName _ = Data.Text.pack "google.protobuf.Timestamp"
-        fieldsByTag
-          = let seconds__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "seconds"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "seconds")))
-                      :: Data.ProtoLens.FieldDescriptor Timestamp
-                nanos__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "nanos"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "nanos")))
-                      :: Data.ProtoLens.FieldDescriptor Timestamp
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, seconds__field_descriptor),
-                 (Data.ProtoLens.Tag 2, nanos__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _Timestamp'_unknownFields
-              (\ x__ y__ -> x__{_Timestamp'_unknownFields = y__})
diff --git a/dist/build/autogen/Proto/Google/Protobuf/Timestamp_Fields.hs b/dist/build/autogen/Proto/Google/Protobuf/Timestamp_Fields.hs
deleted file mode 100644
--- a/dist/build/autogen/Proto/Google/Protobuf/Timestamp_Fields.hs
+++ /dev/null
@@ -1,46 +0,0 @@
-{- This file was auto-generated from google/protobuf/timestamp.proto by the proto-lens-protoc program. -}
-{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
-  UndecidableInstances, GeneralizedNewtypeDeriving,
-  MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,
-  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports#-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
-module Proto.Google.Protobuf.Timestamp_Fields where
-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
-       Data.ProtoLens.Reexport.Data.ProtoLens.Message.Enum
-       as Data.ProtoLens.Message.Enum
-import qualified
-       Data.ProtoLens.Reexport.Data.ProtoLens.Service.Types
-       as Data.ProtoLens.Service.Types
-import qualified Data.ProtoLens.Reexport.Lens.Family2
-       as Lens.Family2
-import qualified Data.ProtoLens.Reexport.Lens.Family2.Unchecked
-       as Lens.Family2.Unchecked
-import qualified Data.ProtoLens.Reexport.Data.Default.Class
-       as Data.Default.Class
-import qualified Data.ProtoLens.Reexport.Data.Text as Data.Text
-import qualified Data.ProtoLens.Reexport.Data.Map as Data.Map
-import qualified Data.ProtoLens.Reexport.Data.ByteString
-       as Data.ByteString
-import qualified Data.ProtoLens.Reexport.Data.ByteString.Char8
-       as Data.ByteString.Char8
-import qualified Data.ProtoLens.Reexport.Lens.Labels as Lens.Labels
-import qualified Data.ProtoLens.Reexport.Text.Read as Text.Read
-
-nanos ::
-      forall f s t a b . (Lens.Labels.HasLens f s t "nanos" a b) =>
-        Lens.Family2.LensLike f s t a b
-nanos
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "nanos")
-seconds ::
-        forall f s t a b . (Lens.Labels.HasLens f s t "seconds" a b) =>
-          Lens.Family2.LensLike f s t a b
-seconds
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "seconds")
diff --git a/dist/build/autogen/Proto/Google/Protobuf/Wrappers.hs b/dist/build/autogen/Proto/Google/Protobuf/Wrappers.hs
deleted file mode 100644
--- a/dist/build/autogen/Proto/Google/Protobuf/Wrappers.hs
+++ /dev/null
@@ -1,397 +0,0 @@
-{- This file was auto-generated from google/protobuf/wrappers.proto by the proto-lens-protoc program. -}
-{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
-  UndecidableInstances, GeneralizedNewtypeDeriving,
-  MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,
-  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports#-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
-module Proto.Google.Protobuf.Wrappers
-       (BoolValue(..), BytesValue(..), DoubleValue(..), FloatValue(..),
-        Int32Value(..), Int64Value(..), StringValue(..), UInt32Value(..),
-        UInt64Value(..))
-       where
-import qualified Data.ProtoLens.Reexport.Lens.Labels.Prism
-       as Lens.Labels.Prism
-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
-       Data.ProtoLens.Reexport.Data.ProtoLens.Message.Enum
-       as Data.ProtoLens.Message.Enum
-import qualified
-       Data.ProtoLens.Reexport.Data.ProtoLens.Service.Types
-       as Data.ProtoLens.Service.Types
-import qualified Data.ProtoLens.Reexport.Lens.Family2
-       as Lens.Family2
-import qualified Data.ProtoLens.Reexport.Lens.Family2.Unchecked
-       as Lens.Family2.Unchecked
-import qualified Data.ProtoLens.Reexport.Data.Default.Class
-       as Data.Default.Class
-import qualified Data.ProtoLens.Reexport.Data.Text as Data.Text
-import qualified Data.ProtoLens.Reexport.Data.Map as Data.Map
-import qualified Data.ProtoLens.Reexport.Data.ByteString
-       as Data.ByteString
-import qualified Data.ProtoLens.Reexport.Data.ByteString.Char8
-       as Data.ByteString.Char8
-import qualified Data.ProtoLens.Reexport.Lens.Labels as Lens.Labels
-import qualified Data.ProtoLens.Reexport.Text.Read as Text.Read
-
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Wrappers_Fields.value' @:: Lens' BoolValue Prelude.Bool@
- -}
-data BoolValue = BoolValue{_BoolValue'value :: !Prelude.Bool,
-                           _BoolValue'_unknownFields :: !Data.ProtoLens.FieldSet}
-               deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f BoolValue x a, a ~ b) =>
-         Lens.Labels.HasLens f BoolValue BoolValue x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f BoolValue "value" (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _BoolValue'value
-                 (\ x__ y__ -> x__{_BoolValue'value = y__}))
-              Prelude.id
-instance Data.Default.Class.Default BoolValue where
-        def
-          = BoolValue{_BoolValue'value = Data.ProtoLens.fieldDefault,
-                      _BoolValue'_unknownFields = ([])}
-instance Data.ProtoLens.Message BoolValue where
-        messageName _ = Data.Text.pack "google.protobuf.BoolValue"
-        fieldsByTag
-          = let value__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "value")))
-                      :: Data.ProtoLens.FieldDescriptor BoolValue
-              in
-              Data.Map.fromList [(Data.ProtoLens.Tag 1, value__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _BoolValue'_unknownFields
-              (\ x__ y__ -> x__{_BoolValue'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Wrappers_Fields.value' @:: Lens' BytesValue Data.ByteString.ByteString@
- -}
-data BytesValue = BytesValue{_BytesValue'value ::
-                             !Data.ByteString.ByteString,
-                             _BytesValue'_unknownFields :: !Data.ProtoLens.FieldSet}
-                deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f BytesValue x a, a ~ b) =>
-         Lens.Labels.HasLens f BytesValue BytesValue x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f BytesValue "value"
-           (Data.ByteString.ByteString)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _BytesValue'value
-                 (\ x__ y__ -> x__{_BytesValue'value = y__}))
-              Prelude.id
-instance Data.Default.Class.Default BytesValue where
-        def
-          = BytesValue{_BytesValue'value = Data.ProtoLens.fieldDefault,
-                       _BytesValue'_unknownFields = ([])}
-instance Data.ProtoLens.Message BytesValue where
-        messageName _ = Data.Text.pack "google.protobuf.BytesValue"
-        fieldsByTag
-          = let value__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "value")))
-                      :: Data.ProtoLens.FieldDescriptor BytesValue
-              in
-              Data.Map.fromList [(Data.ProtoLens.Tag 1, value__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _BytesValue'_unknownFields
-              (\ x__ y__ -> x__{_BytesValue'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Wrappers_Fields.value' @:: Lens' DoubleValue Prelude.Double@
- -}
-data DoubleValue = DoubleValue{_DoubleValue'value ::
-                               !Prelude.Double,
-                               _DoubleValue'_unknownFields :: !Data.ProtoLens.FieldSet}
-                 deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f DoubleValue x a, a ~ b) =>
-         Lens.Labels.HasLens f DoubleValue DoubleValue x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f DoubleValue "value" (Prelude.Double)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DoubleValue'value
-                 (\ x__ y__ -> x__{_DoubleValue'value = y__}))
-              Prelude.id
-instance Data.Default.Class.Default DoubleValue where
-        def
-          = DoubleValue{_DoubleValue'value = Data.ProtoLens.fieldDefault,
-                        _DoubleValue'_unknownFields = ([])}
-instance Data.ProtoLens.Message DoubleValue where
-        messageName _ = Data.Text.pack "google.protobuf.DoubleValue"
-        fieldsByTag
-          = let value__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.DoubleField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Double)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "value")))
-                      :: Data.ProtoLens.FieldDescriptor DoubleValue
-              in
-              Data.Map.fromList [(Data.ProtoLens.Tag 1, value__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _DoubleValue'_unknownFields
-              (\ x__ y__ -> x__{_DoubleValue'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Wrappers_Fields.value' @:: Lens' FloatValue Prelude.Float@
- -}
-data FloatValue = FloatValue{_FloatValue'value :: !Prelude.Float,
-                             _FloatValue'_unknownFields :: !Data.ProtoLens.FieldSet}
-                deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f FloatValue x a, a ~ b) =>
-         Lens.Labels.HasLens f FloatValue FloatValue x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FloatValue "value" (Prelude.Float)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FloatValue'value
-                 (\ x__ y__ -> x__{_FloatValue'value = y__}))
-              Prelude.id
-instance Data.Default.Class.Default FloatValue where
-        def
-          = FloatValue{_FloatValue'value = Data.ProtoLens.fieldDefault,
-                       _FloatValue'_unknownFields = ([])}
-instance Data.ProtoLens.Message FloatValue where
-        messageName _ = Data.Text.pack "google.protobuf.FloatValue"
-        fieldsByTag
-          = let value__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.FloatField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Float)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "value")))
-                      :: Data.ProtoLens.FieldDescriptor FloatValue
-              in
-              Data.Map.fromList [(Data.ProtoLens.Tag 1, value__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _FloatValue'_unknownFields
-              (\ x__ y__ -> x__{_FloatValue'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Wrappers_Fields.value' @:: Lens' Int32Value Data.Int.Int32@
- -}
-data Int32Value = Int32Value{_Int32Value'value :: !Data.Int.Int32,
-                             _Int32Value'_unknownFields :: !Data.ProtoLens.FieldSet}
-                deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f Int32Value x a, a ~ b) =>
-         Lens.Labels.HasLens f Int32Value Int32Value x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f Int32Value "value" (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _Int32Value'value
-                 (\ x__ y__ -> x__{_Int32Value'value = y__}))
-              Prelude.id
-instance Data.Default.Class.Default Int32Value where
-        def
-          = Int32Value{_Int32Value'value = Data.ProtoLens.fieldDefault,
-                       _Int32Value'_unknownFields = ([])}
-instance Data.ProtoLens.Message Int32Value where
-        messageName _ = Data.Text.pack "google.protobuf.Int32Value"
-        fieldsByTag
-          = let value__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "value")))
-                      :: Data.ProtoLens.FieldDescriptor Int32Value
-              in
-              Data.Map.fromList [(Data.ProtoLens.Tag 1, value__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _Int32Value'_unknownFields
-              (\ x__ y__ -> x__{_Int32Value'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Wrappers_Fields.value' @:: Lens' Int64Value Data.Int.Int64@
- -}
-data Int64Value = Int64Value{_Int64Value'value :: !Data.Int.Int64,
-                             _Int64Value'_unknownFields :: !Data.ProtoLens.FieldSet}
-                deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f Int64Value x a, a ~ b) =>
-         Lens.Labels.HasLens f Int64Value Int64Value x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f Int64Value "value" (Data.Int.Int64)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _Int64Value'value
-                 (\ x__ y__ -> x__{_Int64Value'value = y__}))
-              Prelude.id
-instance Data.Default.Class.Default Int64Value where
-        def
-          = Int64Value{_Int64Value'value = Data.ProtoLens.fieldDefault,
-                       _Int64Value'_unknownFields = ([])}
-instance Data.ProtoLens.Message Int64Value where
-        messageName _ = Data.Text.pack "google.protobuf.Int64Value"
-        fieldsByTag
-          = let value__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "value")))
-                      :: Data.ProtoLens.FieldDescriptor Int64Value
-              in
-              Data.Map.fromList [(Data.ProtoLens.Tag 1, value__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _Int64Value'_unknownFields
-              (\ x__ y__ -> x__{_Int64Value'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Wrappers_Fields.value' @:: Lens' StringValue Data.Text.Text@
- -}
-data StringValue = StringValue{_StringValue'value ::
-                               !Data.Text.Text,
-                               _StringValue'_unknownFields :: !Data.ProtoLens.FieldSet}
-                 deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f StringValue x a, a ~ b) =>
-         Lens.Labels.HasLens f StringValue StringValue x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f StringValue "value" (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _StringValue'value
-                 (\ x__ y__ -> x__{_StringValue'value = y__}))
-              Prelude.id
-instance Data.Default.Class.Default StringValue where
-        def
-          = StringValue{_StringValue'value = Data.ProtoLens.fieldDefault,
-                        _StringValue'_unknownFields = ([])}
-instance Data.ProtoLens.Message StringValue where
-        messageName _ = Data.Text.pack "google.protobuf.StringValue"
-        fieldsByTag
-          = let value__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "value")))
-                      :: Data.ProtoLens.FieldDescriptor StringValue
-              in
-              Data.Map.fromList [(Data.ProtoLens.Tag 1, value__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _StringValue'_unknownFields
-              (\ x__ y__ -> x__{_StringValue'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Wrappers_Fields.value' @:: Lens' UInt32Value Data.Word.Word32@
- -}
-data UInt32Value = UInt32Value{_UInt32Value'value ::
-                               !Data.Word.Word32,
-                               _UInt32Value'_unknownFields :: !Data.ProtoLens.FieldSet}
-                 deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f UInt32Value x a, a ~ b) =>
-         Lens.Labels.HasLens f UInt32Value UInt32Value x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f UInt32Value "value" (Data.Word.Word32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UInt32Value'value
-                 (\ x__ y__ -> x__{_UInt32Value'value = y__}))
-              Prelude.id
-instance Data.Default.Class.Default UInt32Value where
-        def
-          = UInt32Value{_UInt32Value'value = Data.ProtoLens.fieldDefault,
-                        _UInt32Value'_unknownFields = ([])}
-instance Data.ProtoLens.Message UInt32Value where
-        messageName _ = Data.Text.pack "google.protobuf.UInt32Value"
-        fieldsByTag
-          = let value__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "value")))
-                      :: Data.ProtoLens.FieldDescriptor UInt32Value
-              in
-              Data.Map.fromList [(Data.ProtoLens.Tag 1, value__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _UInt32Value'_unknownFields
-              (\ x__ y__ -> x__{_UInt32Value'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Wrappers_Fields.value' @:: Lens' UInt64Value Data.Word.Word64@
- -}
-data UInt64Value = UInt64Value{_UInt64Value'value ::
-                               !Data.Word.Word64,
-                               _UInt64Value'_unknownFields :: !Data.ProtoLens.FieldSet}
-                 deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f UInt64Value x a, a ~ b) =>
-         Lens.Labels.HasLens f UInt64Value UInt64Value x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f UInt64Value "value" (Data.Word.Word64)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UInt64Value'value
-                 (\ x__ y__ -> x__{_UInt64Value'value = y__}))
-              Prelude.id
-instance Data.Default.Class.Default UInt64Value where
-        def
-          = UInt64Value{_UInt64Value'value = Data.ProtoLens.fieldDefault,
-                        _UInt64Value'_unknownFields = ([])}
-instance Data.ProtoLens.Message UInt64Value where
-        messageName _ = Data.Text.pack "google.protobuf.UInt64Value"
-        fieldsByTag
-          = let value__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "value")))
-                      :: Data.ProtoLens.FieldDescriptor UInt64Value
-              in
-              Data.Map.fromList [(Data.ProtoLens.Tag 1, value__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _UInt64Value'_unknownFields
-              (\ x__ y__ -> x__{_UInt64Value'_unknownFields = y__})
diff --git a/dist/build/autogen/Proto/Google/Protobuf/Wrappers_Fields.hs b/dist/build/autogen/Proto/Google/Protobuf/Wrappers_Fields.hs
deleted file mode 100644
--- a/dist/build/autogen/Proto/Google/Protobuf/Wrappers_Fields.hs
+++ /dev/null
@@ -1,40 +0,0 @@
-{- This file was auto-generated from google/protobuf/wrappers.proto by the proto-lens-protoc program. -}
-{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
-  UndecidableInstances, GeneralizedNewtypeDeriving,
-  MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,
-  PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports#-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
-module Proto.Google.Protobuf.Wrappers_Fields where
-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
-       Data.ProtoLens.Reexport.Data.ProtoLens.Message.Enum
-       as Data.ProtoLens.Message.Enum
-import qualified
-       Data.ProtoLens.Reexport.Data.ProtoLens.Service.Types
-       as Data.ProtoLens.Service.Types
-import qualified Data.ProtoLens.Reexport.Lens.Family2
-       as Lens.Family2
-import qualified Data.ProtoLens.Reexport.Lens.Family2.Unchecked
-       as Lens.Family2.Unchecked
-import qualified Data.ProtoLens.Reexport.Data.Default.Class
-       as Data.Default.Class
-import qualified Data.ProtoLens.Reexport.Data.Text as Data.Text
-import qualified Data.ProtoLens.Reexport.Data.Map as Data.Map
-import qualified Data.ProtoLens.Reexport.Data.ByteString
-       as Data.ByteString
-import qualified Data.ProtoLens.Reexport.Data.ByteString.Char8
-       as Data.ByteString.Char8
-import qualified Data.ProtoLens.Reexport.Lens.Labels as Lens.Labels
-import qualified Data.ProtoLens.Reexport.Text.Read as Text.Read
-
-value ::
-      forall f s t a b . (Lens.Labels.HasLens f s t "value" a b) =>
-        Lens.Family2.LensLike f s t a b
-value
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "value")
diff --git a/proto-lens-protobuf-types.cabal b/proto-lens-protobuf-types.cabal
--- a/proto-lens-protobuf-types.cabal
+++ b/proto-lens-protobuf-types.cabal
@@ -1,11 +1,11 @@
--- This file has been generated from package.yaml by hpack version 0.20.0.
+-- This file has been generated from package.yaml by hpack version 0.28.2.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 186fb73ea647af8908c5353c8df61c0aada15a46a4f571f021a62f3076392733
+-- hash: 65968cd6af3d23bee18b7adbb3957a2192858a0561f56364d8055039f8f77774
 
 name:           proto-lens-protobuf-types
-version:        0.3.0.1
+version:        0.3.0.2
 synopsis:       Basic protocol buffer message types.
 description:    This package provides bindings standard protocol message types, for use with the proto-lens library.
 category:       Data
@@ -17,8 +17,7 @@
 license:        BSD3
 license-file:   LICENSE
 build-type:     Custom
-cabal-version:  >= 1.10
-
+cabal-version:  >= 1.24
 extra-source-files:
     Changelog.md
     proto-src/google/protobuf/any.proto
@@ -34,18 +33,10 @@
 custom-setup
   setup-depends:
       Cabal
-    , base >=4.8 && <4.12
+    , base >=4.9 && <4.12
     , proto-lens-protoc ==0.3.*
 
 library
-  hs-source-dirs:
-      src
-  build-depends:
-      base >=4.8 && <4.12
-    , lens-family
-    , proto-lens ==0.3.*
-    , proto-lens-protoc ==0.3.*
-    , text ==1.2.*
   exposed-modules:
       Data.ProtoLens.Any
       Proto.Google.Protobuf.Any
@@ -58,4 +49,21 @@
       Proto.Google.Protobuf.Timestamp_Fields
   other-modules:
       Paths_proto_lens_protobuf_types
+  hs-source-dirs:
+      src
+  build-depends:
+      base >=4.9 && <4.12
+    , lens-labels ==0.2.*
+    , proto-lens ==0.3.*
+    , proto-lens-protoc ==0.3.*
+    , text ==1.2.*
   default-language: Haskell2010
+  autogen-modules:
+    Proto.Google.Protobuf.Any
+    Proto.Google.Protobuf.Any_Fields
+    Proto.Google.Protobuf.Duration
+    Proto.Google.Protobuf.Duration_Fields
+    Proto.Google.Protobuf.Wrappers
+    Proto.Google.Protobuf.Wrappers_Fields
+    Proto.Google.Protobuf.Timestamp
+    Proto.Google.Protobuf.Timestamp_Fields
diff --git a/src/Data/ProtoLens/Any.hs b/src/Data/ProtoLens/Any.hs
--- a/src/Data/ProtoLens/Any.hs
+++ b/src/Data/ProtoLens/Any.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE OverloadedLabels #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 {-# LANGUAGE TypeApplications #-}
@@ -21,9 +22,8 @@
     , Message(..)
     )
 import Data.Proxy (Proxy(..))
-import Lens.Family2 ((&), (.~), (^.))
+import Lens.Labels ((&), (.~), (^.))
 import Proto.Google.Protobuf.Any
-import Proto.Google.Protobuf.Any_Fields
 
 -- | Packs the given message into an 'Any' using the default type URL prefix
 -- "type.googleapis.com".
@@ -36,8 +36,8 @@
 -- | Packs the given message into an 'Any' using the given type URL prefix.
 packWithPrefix :: forall a . Message a => Text -> a -> Any
 packWithPrefix prefix x =
-    def & typeUrl .~ (prefix <> "/" <> name)
-        & value .~ encodeMessage x
+    def & #typeUrl .~ (prefix <> "/" <> name)
+        & #value .~ encodeMessage x
   where
     name = messageName (Proxy @a)
 
@@ -59,12 +59,12 @@
 -- Ignores the type URL prefix.
 unpack :: forall a . Message a => Any -> Either UnpackError a
 unpack a
-    | expectedName /= snd (Text.breakOnEnd "/" $ a ^. typeUrl)
+    | expectedName /= snd (Text.breakOnEnd "/" $ a ^. #typeUrl)
         = Left DifferentType
               { expectedMessageType = expectedName
-              , actualUrl = a ^. typeUrl
+              , actualUrl = a ^. #typeUrl
               }
-    | otherwise = case decodeMessage (a ^. value) of
+    | otherwise = case decodeMessage (a ^. #value) of
         Left e -> Left $ DecodingError $ Text.pack e
         Right x -> Right x
   where
