diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+# 0.1.7.0
+
+* Added `preuse`.
+
 # 0.1.6.1
 
 * Bumped transformers version.
diff --git a/microlens-mtl.cabal b/microlens-mtl.cabal
--- a/microlens-mtl.cabal
+++ b/microlens-mtl.cabal
@@ -1,5 +1,5 @@
 name:                microlens-mtl
-version:             0.1.6.1
+version:             0.1.7.0
 synopsis:            microlens support for Reader/Writer/State from mtl
 description:
   This package contains functions (like 'view' or '+=') which work on 'MonadReader', 'MonadWriter', and 'MonadState' from the mtl package.
diff --git a/src/Lens/Micro/Mtl.hs b/src/Lens/Micro/Mtl.hs
--- a/src/Lens/Micro/Mtl.hs
+++ b/src/Lens/Micro/Mtl.hs
@@ -13,9 +13,8 @@
 
 module Lens.Micro.Mtl
 (
-  view,
-  preview,
-  use,
+  view, preview,
+  use, preuse,
   zoom,
   magnify,
   (.=), (%=),
@@ -67,7 +66,7 @@
 {-# INLINE preview #-}
 
 {- |
-'use' is 'view' which implicitly operates on the state; for instance, if your state is a record containing a field @foo@, you can write
+'use' is ('^.) (or 'view') which implicitly operates on the state; for instance, if your state is a record containing a field @foo@, you can write
 
 @
 x \<- 'use' foo
@@ -80,10 +79,23 @@
 @
 'use' l = 'State.gets' ('view' l)
 @
+
+If you need to extract something with a fold or traversal, you need 'preuse'.
 -}
 use :: MonadState s m => Getting a s a -> m a
 use l = State.gets (view l)
 {-# INLINE use #-}
+
+{- |
+'preuse' is ('^?') (or 'preview') which implicitly operates on the state – it takes the state and applies a traversal (or fold) to it to extract the 1st element the traversal points at.
+
+@
+'preuse' l = 'State.gets' ('preview' l)
+@
+-}
+preuse :: MonadState s m => Getting (First a) s a -> m (Maybe a)
+preuse l = State.gets (preview l)
+{-# INLINE preuse #-}
 
 
 infix  4 .=, %=
