@@ -201,18 +201,27 @@ instance {-# OVERLAPPABLE #-} (HasResponseHeader h a rest) => HasResponseHeader
201201-- >>> let example2 = addHeader True example1 :: Headers '[Header "1st" Bool, Header "someheader" Int] String
202202-- >>> lookupResponseHeader example2 :: ResponseHeader "someheader" Int
203203-- Header 5
204+--
204205-- >>> lookupResponseHeader example2 :: ResponseHeader "1st" Bool
205206-- Header True
206207--
207208-- Usage of this function relies on an explicit type annotation of the header to be looked up.
208209-- This can be done with type annotations on the result, or with an explicit type application.
209−-- e.g.
210−-- @lookupResponseHeader \@"someheader" example2@
210+-- In this example, the type of header value is determined by the type-inference,
211+-- we only specify the name of the header:
212+--
213+-- >>> :set -XTypeApplications
214+-- >>> case lookupResponseHeader @"1st" example2 of { Header b -> b ; _ -> False }
215+-- True
216+--
217+-- @since 0.15
218+--
211219lookupResponseHeader :: (HasResponseHeader h a headers)
212220 => Headers headers r -> ResponseHeader h a
213221lookupResponseHeader = hlistLookupHeader . getHeadersHList
214222
215223-- $setup
224+-- >>> :set -XFlexibleContexts
216225-- >>> import Servant.API
217226-- >>> import Data.Aeson
218227-- >>> import Data.Text