diff --git a/implicit-params.cabal b/implicit-params.cabal
--- a/implicit-params.cabal
+++ b/implicit-params.cabal
@@ -1,5 +1,5 @@
 name:           implicit-params
-version:        0.2
+version:        0.2.1
 synopsis:       Named and unnamed implicit parameters with defaults.
 license:        BSD3
 license-file:   LICENSE
@@ -9,8 +9,8 @@
 category:       Data
 cabal-version:  >= 1.6
 build-type:     Simple
-homepage:       http://github.com/duairc/implicit
-bug-reports:    http://github.com/duairc/implicit/issues
+homepage:       http://github.com/duairc/implicit-params
+bug-reports:    http://github.com/duairc/implicit-params/issues
 description:
   Named and unnamed implicit parameters with defaults using type classes and
   constraint hacks. For examples, see "Data.Implicit".
@@ -28,11 +28,11 @@
     Data.Implicit
 
   build-depends:
-    base >= 4.3 && < 5,
+    base >= 4 && < 5,
     data-default-class > 0 && < 0.1
 
   ghc-options: -Wall
 
 source-repository head
   type:     git
-  location: http://github.com/duairc/implicit
+  location: http://github.com/duairc/implicit-params
diff --git a/src/Data/Implicit.hs b/src/Data/Implicit.hs
--- a/src/Data/Implicit.hs
+++ b/src/Data/Implicit.hs
@@ -2,12 +2,12 @@
 {-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
-#if __GLASGOW_HASKELL__ >= 706
-{-# LANGUAGE PolyKinds #-}
-#endif
 {-# LANGUAGE Rank2Types #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 {-# LANGUAGE UndecidableInstances #-}
+#if __GLASGOW_HASKELL__ >= 706
+{-# LANGUAGE PolyKinds #-}
+#endif
 
 {-|
 
@@ -110,12 +110,14 @@
     , param
     , setParam
     , (~$)
+    , (~..)
     , ($$)
 
     , Implicit_
     , param_
     , setParam_
     , ($~)
+    , (~.)
     )
 where
 
@@ -161,6 +163,14 @@
 
 
 ------------------------------------------------------------------------------
+-- | Modify a named implicit parameter.
+(~..) :: Implicit s a => (Implicit s b => c) -> proxy s -> (a -> b) -> c
+(~..) f proxy g = f ~$ proxy $$ g (param proxy)
+infixl 8 ~..
+{-# INLINE (~..) #-}
+
+
+------------------------------------------------------------------------------
 -- | A left-associated version of '$'.
 ($$) :: (a -> b) -> a -> b
 infixl 0 $$
@@ -172,13 +182,13 @@
 -- | The constraint @'Implicit_' String@ on a function @f@ indicates that an
 -- unnamed implicit parameter of type @String@ is passed to @f@.
 class Implicit_ a where
+    -- | 'param_' retrieves the unnamed implicit parameter of type @a@ from
+    -- the context @'Implicit_' a@.
     param_ :: a
 
 
 ------------------------------------------------------------------------------
 instance Default a => Implicit_ a where
-    -- | 'param_' retrieves the unnamed implicit parameter of type @a@ from
-    -- the context @'Implicit_' a@.
     param_ = def
 
 
@@ -200,3 +210,11 @@
 infixl 1 $~
 f $~ a = unsafeCoerce (Param_ f :: Param_ a b) a
 {-# INLINE ($~) #-}
+
+
+------------------------------------------------------------------------------
+-- | Modify an unnamed implicit parameter.
+(~.) :: Implicit_ a => (Implicit_ b => c) -> (a -> b) -> c
+f ~. g = f $~ g param_
+infixl 8 ~.
+{-# INLINE (~.) #-}
