diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for simple-routing-core
 
+## 0.1.2.0
+
+* Added variant of `headerValue` that accepts `HeaderName`
+
 ## 0.1.1.0
 
 * `headerValue` function to extract value from HTTP headers
diff --git a/purescheme-wai-routing-core.cabal b/purescheme-wai-routing-core.cabal
--- a/purescheme-wai-routing-core.cabal
+++ b/purescheme-wai-routing-core.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 5fd2f81871cfa5740b4bfc13db2062bca2707dcef39d4e444bdc5e7b2d2e9597
+-- hash: efbb0d13ed485a3b73fe1e61373235c0758d4ced71b393f8471f67da1b00a0d5
 
 name:           purescheme-wai-routing-core
-version:        0.1.1.0
+version:        0.1.2.0
 synopsis:       Simple Routing functions for Wai Applications
 description:    Please see the README on GitHub at <https://github.com/purescheme/purescheme-wai-routing-core#readme>
 category:       Web
diff --git a/src/Network/Wai/Routing/Purescheme/Core/Header.hs b/src/Network/Wai/Routing/Purescheme/Core/Header.hs
--- a/src/Network/Wai/Routing/Purescheme/Core/Header.hs
+++ b/src/Network/Wai/Routing/Purescheme/Core/Header.hs
@@ -16,6 +16,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 module Network.Wai.Routing.Purescheme.Core.Header
   ( headerValue
+  , headerValue'
   )
 where
   
@@ -23,12 +24,17 @@
 
 import Data.ByteString (ByteString)
 import qualified Data.CaseInsensitive as CI
+import Network.HTTP.Types.Header (HeaderName)
 import Network.Wai (requestHeaders)
 
--- | Extract the value of the first HTTP request header with a given name
+-- | Extract the value of the first HTTP request header with a given name (ByteString)
 headerValue :: ByteString -> (Maybe ByteString -> GenericApplication b) -> GenericApplication b
-headerValue name f req =
-  let
-    maybeValue = lookup (CI.mk name) (requestHeaders req)
+headerValue name = headerValue' (CI.mk name)
+
+-- | Extract the value of the fist HTTP request header with a given header name
+headerValue' :: HeaderName -> (Maybe ByteString -> GenericApplication b) -> GenericApplication b
+headerValue' name f req = 
+  let 
+    maybeValue = lookup name (requestHeaders req)
   in
     f maybeValue req
