diff --git a/yesod-test/Yesod/Test.hs b/yesod-test/Yesod/Test.hs
index 8c4cdedd..82b92e42 100644
--- a/yesod-test/Yesod/Test.hs
+++ b/yesod-test/Yesod/Test.hs
@@ -567,34 +567,11 @@ genericNameFromLabel match label = do
(<>) :: T.Text -> T.Text -> T.Text
(<>) = T.append
--- How does this work for the alternate syntax?
-
--- | Finds the @\@ with the given value, finds its corresponding @\ @, then adds a parameter
--- for that input to the request body.
---
--- ==== __Examples__
---
--- Given this HTML, we want to submit @f1=Michael@ to the server:
---
--- >
---
--- You can set this parameter like so:
---
--- > request $ do
--- > byLabel "Username" "Michael"
---
--- This function also supports the implicit label syntax, in which
--- the @\ @ is nested inside the @\@ rather than specified with @for@:
---
--- >
-byLabelWithMatch :: (T.Text -> T.Text -> Bool)
- -> T.Text -- ^ The text contained in the @\@.
- -> T.Text -- ^ The value to set the parameter to.
+-- |
+-- @since 1.5.9
+byLabelWithMatch :: (T.Text -> T.Text -> Bool) -- ^ The matching method which is used to find labels (i.e. exact, contains)
+ -> T.Text -- ^ The text contained in the @\@.
+ -> T.Text -- ^ The value to set the parameter to.
-> RequestBuilder site ()
byLabelWithMatch match label value = do
name <- genericNameFromLabel match label
@@ -625,12 +602,52 @@ byLabelWithMatch match label value = do
-- >
+--
+-- Note that this function finds the labels in which contain the given word.
+-- It might choice labels unexpectedly or just fail in the circumstances like below:
+--
+-- >
+--
+-- > request $ do
+-- > byLabel "Nickname" "Snoyberger"
+--
+-- Therefore, this function is deprecated. Please consider using 'byLabelExact',
+-- which performs the exact match over the given word.
byLabel :: T.Text -- ^ The text contained in the @\@.
-> T.Text -- ^ The value to set the parameter to.
-> RequestBuilder site ()
byLabel = byLabelWithMatch T.isInfixOf
-byLabelExact :: T.Text
+-- | Finds the @\@ with the given value, finds its corresponding @\ @, then adds a parameter
+-- for that input to the request body.
+--
+-- ==== __Examples__
+--
+-- Given this HTML, we want to submit @f1=Michael@ to the server:
+--
+-- >
+--
+-- You can set this parameter like so:
+--
+-- > request $ do
+-- > byLabel "Username" "Michael"
+--
+-- This function also supports the implicit label syntax, in which
+-- the @\ @ is nested inside the @\@ rather than specified with @for@:
+--
+-- >
+byLabelExact :: T.Text -- ^ The text in the @\@.
-> T.Text -- ^ The value to set the parameter to.
-> RequestBuilder site ()
byLabelExact = byLabelWithMatch (==)