diff --git a/confide.cabal b/confide.cabal
--- a/confide.cabal
+++ b/confide.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: f5eca76411806b3a2c944cf7474ad039512ad1c7b1eb3d5efdccd293679ab806
+-- hash: 51d67bd40f288733907f930d5048483697c7cf379cdcff1cf8204e79ca2ad76b
 
 name:           confide
-version:        0.1.0.2
+version:        0.1.0.3
 synopsis:       derive typeclass instances for decoding types from HOCON conf
 category:       Data
 homepage:       https://github.com/amilkov3/confide
@@ -30,7 +30,7 @@
       src
   default-extensions: DefaultSignatures DeriveGeneric FlexibleInstances FlexibleContexts MultiParamTypeClasses OverloadedStrings PolyKinds ScopedTypeVariables TypeOperators
   build-depends:
-      base >=4.7 && <4.10
+      base >=4.7 && <5
     , deiko-config >=0.5.0.1
     , exceptions ==0.8.3
     , text ==1.2.2.2
diff --git a/src/Data/Confide/Generic.hs b/src/Data/Confide/Generic.hs
--- a/src/Data/Confide/Generic.hs
+++ b/src/Data/Confide/Generic.hs
@@ -1,5 +1,7 @@
 {-# LANGUAGE UndecidableInstances #-}
+{-# LANGUAGE PartialTypeSignatures #-}
 
+{-# OPTIONS_GHC -w #-}
 module Data.Confide.Generic( FromConf(..) ) where
 
 import qualified Data.Text as T
@@ -45,7 +47,7 @@
   gget p c = fmap M1 (gget p c)
 
 instance (GFromConf a, Selector s) => GFromConf (M1 S s a) where
-  gget p c = fmap M1 (gget (p' `T.append` T.pack (selName (undefined :: M1 S s a ()))) c)
+  gget p c = fmap M1 (gget (p' `T.append` T.pack (selName (undefined :: M1 S s a _))) c)
              where p' = if T.null p then p else p `T.append` "."
 
 instance (FromConf a) => GFromConf (K1 R a) where
