diff --git a/src/Data/Vinyl/Utils/Proxy.hs b/src/Data/Vinyl/Utils/Proxy.hs
--- a/src/Data/Vinyl/Utils/Proxy.hs
+++ b/src/Data/Vinyl/Utils/Proxy.hs
@@ -33,10 +33,10 @@
 instance Record rs => Record (r ': rs) where
   proxyRecord = Proxy :& proxyRecord
 
-recPure :: Record rs => (forall a. f a) -> Rec f rs
+recPure :: forall (f :: k -> *) (rs :: [k]). Record rs => (forall (a :: k). f a) -> Rec f rs
 recPure = recPure' proxyRecord
 
-recPure' :: Rec Proxy rs -> (forall a. f a) -> Rec f rs
+recPure' :: forall (f :: k -> *) (rs :: [k]). Rec Proxy rs -> (forall (a :: k). f a) -> Rec f rs
 recPure' RNil _ = RNil
 recPure' (Proxy :& ps) a = a :& recPure' ps a
 
diff --git a/vinyl-utils.cabal b/vinyl-utils.cabal
--- a/vinyl-utils.cabal
+++ b/vinyl-utils.cabal
@@ -1,5 +1,5 @@
 name:                vinyl-utils
-version:             0.2.0.1
+version:             0.2.0.2
 synopsis:            Utilities for vinyl
 description:         Operations on records parametrized with various kinds of functors.
 license:             BSD3
