diff --git a/markup.cabal b/markup.cabal
--- a/markup.cabal
+++ b/markup.cabal
@@ -1,5 +1,5 @@
 Name:                   markup
-Version:                3.1.0
+Version:                4.0.0
 Author:                 Athan Clark <athan.clark@gmail.com>
 Maintainer:             Athan Clark <athan.clark@gmail.com>
 License:                MIT
@@ -19,7 +19,9 @@
   markup. The three deployment mechanisms provided include
   .
     * /inline/ - the asset inserted between markup tags
+  .
     * /local/ - assets on the current server
+  .
     * /remote/ - assets referenced with a complete URI
 
 Cabal-Version:          >= 1.10
@@ -43,11 +45,11 @@
                       , monad-control
                       , monad-logger
                       , mtl
-                      , path-extra >= 0.0.2
+                      , path-extra >= 0.0.5
                       , resourcet
                       , text
                       , transformers-base
-                      , urlpath >= 4.1.0
+                      , urlpath >= 6.0.0
 
 Source-Repository head
   Type:                 git
diff --git a/src/Data/Markup/Library.hs b/src/Data/Markup/Library.hs
--- a/src/Data/Markup/Library.hs
+++ b/src/Data/Markup/Library.hs
@@ -61,14 +61,14 @@
          ) => Deploy Image Remote (Path Abs t) (L.HtmlT (AbsoluteUrlT m)) where
   deploy Image Remote i = do
     link <- lift (pathUrl i)
-    linkedImageLucid (T.pack link)
+    linkedImageLucid (T.pack $ show link)
 
 instance ( Monad m
          , MonadUrl Abs t (AbsoluteUrlT m)
          ) => Deploy Image Remote (Location Abs t) (L.HtmlT (AbsoluteUrlT m)) where
   deploy Image Remote i = do
     link <- lift (locUrl i)
-    linkedImageLucid (T.pack link)
+    linkedImageLucid (T.pack $ show link)
 
 
 -- Local
@@ -82,28 +82,28 @@
          ) => Deploy Image Locally (Path Abs t) (L.HtmlT (GroundedUrlT m)) where
   deploy Image Locally i = do
     link <- lift (pathUrl i)
-    linkedImageLucid (T.pack link)
+    linkedImageLucid (T.pack $ show link)
 
 instance ( Monad m
          , MonadUrl Rel t (RelativeUrlT m)
          ) => Deploy Image Locally (Path Rel t) (L.HtmlT (RelativeUrlT m)) where
   deploy Image Locally i = do
     link <- lift (pathUrl i)
-    linkedImageLucid (T.pack link)
+    linkedImageLucid (T.pack $ show link)
 
 instance ( Monad m
          , MonadUrl Abs t (GroundedUrlT m)
          ) => Deploy Image Locally (Location Abs t) (L.HtmlT (GroundedUrlT m)) where
   deploy Image Locally i = do
     link <- lift (locUrl i)
-    linkedImageLucid (T.pack link)
+    linkedImageLucid (T.pack $ show link)
 
 instance ( Monad m
          , MonadUrl Rel t (RelativeUrlT m)
          ) => Deploy Image Locally (Location Rel t) (L.HtmlT (RelativeUrlT m)) where
   deploy Image Locally i = do
     link <- lift (locUrl i)
-    linkedImageLucid (T.pack link)
+    linkedImageLucid (T.pack $ show link)
 
 
 -- Blaze
@@ -121,13 +121,13 @@
          ) => Deploy Image Remote (Path Abs t) (AbsoluteUrlT HI.MarkupM) where
   deploy Image Remote i = do
     link <- pathUrl i
-    lift (linkedImageBlaze (T.pack link))
+    lift (linkedImageBlaze (T.pack $ show link))
 
 instance ( MonadUrl Abs t (AbsoluteUrlT HI.MarkupM)
          ) => Deploy Image Remote (Location Abs t) (AbsoluteUrlT HI.MarkupM) where
   deploy Image Remote i = do
     link <- locUrl i
-    lift (linkedImageBlaze (T.pack link))
+    lift (linkedImageBlaze (T.pack $ show link))
 
 
 -- Local
@@ -139,25 +139,25 @@
          ) => Deploy Image Locally (Path Abs t) (GroundedUrlT HI.MarkupM) where
   deploy Image Locally i = do
     link <- pathUrl i
-    lift (linkedImageBlaze (T.pack link))
+    lift (linkedImageBlaze (T.pack $ show link))
 
 instance ( MonadUrl Rel t (RelativeUrlT HI.MarkupM)
          ) => Deploy Image Locally (Path Rel t) (RelativeUrlT HI.MarkupM) where
   deploy Image Locally i = do
     link <- pathUrl i
-    lift (linkedImageBlaze (T.pack link))
+    lift (linkedImageBlaze (T.pack $ show link))
 
 instance ( MonadUrl Abs t (GroundedUrlT HI.MarkupM)
          ) => Deploy Image Locally (Location Abs t) (GroundedUrlT HI.MarkupM) where
   deploy Image Locally i = do
     link <- locUrl i
-    lift (linkedImageBlaze (T.pack link))
+    lift (linkedImageBlaze (T.pack $ show link))
 
 instance ( MonadUrl Rel t (RelativeUrlT HI.MarkupM)
          ) => Deploy Image Locally (Location Rel t) (RelativeUrlT HI.MarkupM) where
   deploy Image Locally i = do
     link <- locUrl i
-    lift (linkedImageBlaze (T.pack link))
+    lift (linkedImageBlaze (T.pack $ show link))
 
 
 -- JavaScript
@@ -177,14 +177,14 @@
          ) => Deploy JavaScript Remote (Path Abs t) (L.HtmlT (AbsoluteUrlT m)) where
   deploy JavaScript Remote i = do
     link <- lift (pathUrl i)
-    linkedJavaScriptLucid (T.pack link)
+    linkedJavaScriptLucid (T.pack $ show link)
 
 instance ( Monad m
          , MonadUrl Abs t (AbsoluteUrlT m)
          ) => Deploy JavaScript Remote (Location Abs t) (L.HtmlT (AbsoluteUrlT m)) where
   deploy JavaScript Remote i = do
     link <- lift (locUrl i)
-    linkedJavaScriptLucid (T.pack link)
+    linkedJavaScriptLucid (T.pack $ show link)
 
 
 -- Local
@@ -198,28 +198,28 @@
          ) => Deploy JavaScript Locally (Path Abs t) (L.HtmlT (GroundedUrlT m)) where
   deploy JavaScript Locally i = do
     link <- lift (pathUrl i)
-    linkedJavaScriptLucid (T.pack link)
+    linkedJavaScriptLucid (T.pack $ show link)
 
 instance ( Monad m
          , MonadUrl Rel t (RelativeUrlT m)
          ) => Deploy JavaScript Locally (Path Rel t) (L.HtmlT (RelativeUrlT m)) where
   deploy JavaScript Locally i = do
     link <- lift (pathUrl i)
-    linkedJavaScriptLucid (T.pack link)
+    linkedJavaScriptLucid (T.pack $ show link)
 
 instance ( Monad m
          , MonadUrl Abs t (GroundedUrlT m)
          ) => Deploy JavaScript Locally (Location Abs t) (L.HtmlT (GroundedUrlT m)) where
   deploy JavaScript Locally i = do
     link <- lift (locUrl i)
-    linkedJavaScriptLucid (T.pack link)
+    linkedJavaScriptLucid (T.pack $ show link)
 
 instance ( Monad m
          , MonadUrl Rel t (RelativeUrlT m)
          ) => Deploy JavaScript Locally (Location Rel t) (L.HtmlT (RelativeUrlT m)) where
   deploy JavaScript Locally i = do
     link <- lift (locUrl i)
-    linkedJavaScriptLucid (T.pack link)
+    linkedJavaScriptLucid (T.pack $ show link)
 
 -- Inline
 
@@ -249,13 +249,13 @@
          ) => Deploy JavaScript Remote (Path Abs t) (AbsoluteUrlT HI.MarkupM) where
   deploy JavaScript Remote i = do
     link <- pathUrl i
-    lift (linkedJavaScriptBlaze (T.pack link))
+    lift (linkedJavaScriptBlaze (T.pack $ show link))
 
 instance ( MonadUrl Abs t (AbsoluteUrlT HI.MarkupM)
          ) => Deploy JavaScript Remote (Location Abs t) (AbsoluteUrlT HI.MarkupM) where
   deploy JavaScript Remote i = do
     link <- locUrl i
-    lift (linkedJavaScriptBlaze (T.pack link))
+    lift (linkedJavaScriptBlaze (T.pack $ show link))
 
 
 -- Local
@@ -267,25 +267,25 @@
          ) => Deploy JavaScript Locally (Path Abs t) (GroundedUrlT HI.MarkupM) where
   deploy JavaScript Locally i = do
     link <- pathUrl i
-    lift (linkedJavaScriptBlaze (T.pack link))
+    lift (linkedJavaScriptBlaze (T.pack $ show link))
 
 instance ( MonadUrl Rel t (RelativeUrlT HI.MarkupM)
          ) => Deploy JavaScript Locally (Path Rel t) (RelativeUrlT HI.MarkupM) where
   deploy JavaScript Locally i = do
     link <- pathUrl i
-    lift (linkedJavaScriptBlaze (T.pack link))
+    lift (linkedJavaScriptBlaze (T.pack $ show link))
 
 instance ( MonadUrl Abs t (GroundedUrlT HI.MarkupM)
          ) => Deploy JavaScript Locally (Location Abs t) (GroundedUrlT HI.MarkupM) where
   deploy JavaScript Locally i = do
     link <- locUrl i
-    lift (linkedJavaScriptBlaze (T.pack link))
+    lift (linkedJavaScriptBlaze (T.pack $ show link))
 
 instance ( MonadUrl Rel t (RelativeUrlT HI.MarkupM)
          ) => Deploy JavaScript Locally (Location Rel t) (RelativeUrlT HI.MarkupM) where
   deploy JavaScript Locally i = do
     link <- locUrl i
-    lift (linkedJavaScriptBlaze (T.pack link))
+    lift (linkedJavaScriptBlaze (T.pack $ show link))
 
 -- Inline
 
@@ -318,14 +318,14 @@
          ) => Deploy Css Remote (Path Abs t) (L.HtmlT (AbsoluteUrlT m)) where
   deploy Css Remote i = do
     link <- lift (pathUrl i)
-    linkedCssLucid (T.pack link)
+    linkedCssLucid (T.pack $ show link)
 
 instance ( Monad m
          , MonadUrl Abs t (AbsoluteUrlT m)
          ) => Deploy Css Remote (Location Abs t) (L.HtmlT (AbsoluteUrlT m)) where
   deploy Css Remote i = do
     link <- lift (locUrl i)
-    linkedCssLucid (T.pack link)
+    linkedCssLucid (T.pack $ show link)
 
 
 -- Local
@@ -339,28 +339,28 @@
          ) => Deploy Css Locally (Path Abs t) (L.HtmlT (GroundedUrlT m)) where
   deploy Css Locally i = do
     link <- lift (pathUrl i)
-    linkedCssLucid (T.pack link)
+    linkedCssLucid (T.pack $ show link)
 
 instance ( Monad m
          , MonadUrl Rel t (RelativeUrlT m)
          ) => Deploy Css Locally (Path Rel t) (L.HtmlT (RelativeUrlT m)) where
   deploy Css Locally i = do
     link <- lift (pathUrl i)
-    linkedCssLucid (T.pack link)
+    linkedCssLucid (T.pack $ show link)
 
 instance ( Monad m
          , MonadUrl Abs t (GroundedUrlT m)
          ) => Deploy Css Locally (Location Abs t) (L.HtmlT (GroundedUrlT m)) where
   deploy Css Locally i = do
     link <- lift (locUrl i)
-    linkedCssLucid (T.pack link)
+    linkedCssLucid (T.pack $ show link)
 
 instance ( Monad m
          , MonadUrl Rel t (RelativeUrlT m)
          ) => Deploy Css Locally (Location Rel t) (L.HtmlT (RelativeUrlT m)) where
   deploy Css Locally i = do
     link <- lift (locUrl i)
-    linkedCssLucid (T.pack link)
+    linkedCssLucid (T.pack $ show link)
 
 -- Inline
 
@@ -397,13 +397,13 @@
          ) => Deploy Css Remote (Path Abs t) (AbsoluteUrlT HI.MarkupM) where
   deploy Css Remote i = do
     link <- pathUrl i
-    lift (linkedCssBlaze (T.pack link))
+    lift (linkedCssBlaze (T.pack $ show link))
 
 instance ( MonadUrl Abs t (AbsoluteUrlT HI.MarkupM)
          ) => Deploy Css Remote (Location Abs t) (AbsoluteUrlT HI.MarkupM) where
   deploy Css Remote i = do
     link <- locUrl i
-    lift (linkedCssBlaze (T.pack link))
+    lift (linkedCssBlaze (T.pack $ show link))
 
 
 -- Local
@@ -415,25 +415,25 @@
          ) => Deploy Css Locally (Path Abs t) (GroundedUrlT HI.MarkupM) where
   deploy Css Locally i = do
     link <- pathUrl i
-    lift (linkedCssBlaze (T.pack link))
+    lift (linkedCssBlaze (T.pack $ show link))
 
 instance ( MonadUrl Rel t (RelativeUrlT HI.MarkupM)
          ) => Deploy Css Locally (Path Rel t) (RelativeUrlT HI.MarkupM) where
   deploy Css Locally i = do
     link <- pathUrl i
-    lift (linkedCssBlaze (T.pack link))
+    lift (linkedCssBlaze (T.pack $ show link))
 
 instance ( MonadUrl Abs t (GroundedUrlT HI.MarkupM)
          ) => Deploy Css Locally (Location Abs t) (GroundedUrlT HI.MarkupM) where
   deploy Css Locally i = do
     link <- locUrl i
-    lift (linkedCssBlaze (T.pack link))
+    lift (linkedCssBlaze (T.pack $ show link))
 
 instance ( MonadUrl Rel t (RelativeUrlT HI.MarkupM)
          ) => Deploy Css Locally (Location Rel t) (RelativeUrlT HI.MarkupM) where
   deploy Css Locally i = do
     link <- locUrl i
-    lift (linkedCssBlaze (T.pack link))
+    lift (linkedCssBlaze (T.pack $ show link))
 
 -- Inline
 
@@ -469,14 +469,14 @@
          ) => Deploy WebComponent Remote (Path Abs t) (L.HtmlT (AbsoluteUrlT m)) where
   deploy WebComponent Remote i = do
     link <- lift (pathUrl i)
-    linkedWebComponentLucid (T.pack link)
+    linkedWebComponentLucid (T.pack $ show link)
 
 instance ( Monad m
          , MonadUrl Abs t (AbsoluteUrlT m)
          ) => Deploy WebComponent Remote (Location Abs t) (L.HtmlT (AbsoluteUrlT m)) where
   deploy WebComponent Remote i = do
     link <- lift (locUrl i)
-    linkedWebComponentLucid (T.pack link)
+    linkedWebComponentLucid (T.pack $ show link)
 
 -- instance ( Monad m
 --          , MonadUrl Abs t (AbsoluteUrlT m)
@@ -486,7 +486,7 @@
 --   deploy WebComponent Remote i = do
 --     i' <- lift (toLocation i)
 --     link <- lift (locUrl i')
---     linkedWebComponentLucid (T.pack link)
+--     linkedWebComponentLucid (T.pack $ show link)
 
 
 -- Local
@@ -500,28 +500,28 @@
          ) => Deploy WebComponent Locally (Path Abs t) (L.HtmlT (GroundedUrlT m)) where
   deploy WebComponent Locally i = do
     link <- lift (pathUrl i)
-    linkedWebComponentLucid (T.pack link)
+    linkedWebComponentLucid (T.pack $ show link)
 
 instance ( Monad m
          , MonadUrl Rel t (RelativeUrlT m)
          ) => Deploy WebComponent Locally (Path Rel t) (L.HtmlT (RelativeUrlT m)) where
   deploy WebComponent Locally i = do
     link <- lift (pathUrl i)
-    linkedWebComponentLucid (T.pack link)
+    linkedWebComponentLucid (T.pack $ show link)
 
 instance ( Monad m
          , MonadUrl Abs t (GroundedUrlT m)
          ) => Deploy WebComponent Locally (Location Abs t) (L.HtmlT (GroundedUrlT m)) where
   deploy WebComponent Locally i = do
     link <- lift (locUrl i)
-    linkedWebComponentLucid (T.pack link)
+    linkedWebComponentLucid (T.pack $ show link)
 
 instance ( Monad m
          , MonadUrl Rel t (RelativeUrlT m)
          ) => Deploy WebComponent Locally (Location Rel t) (L.HtmlT (RelativeUrlT m)) where
   deploy WebComponent Locally i = do
     link <- lift (locUrl i)
-    linkedWebComponentLucid (T.pack link)
+    linkedWebComponentLucid (T.pack $ show link)
 
 -- instance ( Monad m
 --          , MonadUrl Abs t (GroundedUrlT m)
@@ -531,7 +531,7 @@
 --   deploy WebComponent Locally i = do
 --     i' <- lift (toLocation i)
 --     link <- lift (locUrl i')
---     linkedWebComponentLucid (T.pack link)
+--     linkedWebComponentLucid (T.pack $ show link)
 --
 -- instance ( Monad m
 --          , MonadUrl Rel t (RelativeUrlT m)
@@ -541,7 +541,7 @@
 --   deploy WebComponent Locally i = do
 --     i' <- lift (toLocation i)
 --     link <- lift (locUrl i')
---     linkedWebComponentLucid (T.pack link)
+--     linkedWebComponentLucid (T.pack $ show link)
 
 -- Blaze
 
@@ -559,13 +559,13 @@
          ) => Deploy WebComponent Remote (Path Abs t) (AbsoluteUrlT HI.MarkupM) where
   deploy WebComponent Remote i = do
     link <- pathUrl i
-    lift (linkedWebComponentBlaze (T.pack link))
+    lift (linkedWebComponentBlaze (T.pack $ show link))
 
 instance ( MonadUrl Abs t (AbsoluteUrlT HI.MarkupM)
          ) => Deploy WebComponent Remote (Location Abs t) (AbsoluteUrlT HI.MarkupM) where
   deploy WebComponent Remote i = do
     link <- locUrl i
-    lift (linkedWebComponentBlaze (T.pack link))
+    lift (linkedWebComponentBlaze (T.pack $ show link))
 
 
 -- Local
@@ -577,23 +577,23 @@
          ) => Deploy WebComponent Locally (Path Abs t) (GroundedUrlT HI.MarkupM) where
   deploy WebComponent Locally i = do
     link <- pathUrl i
-    lift (linkedWebComponentBlaze (T.pack link))
+    lift (linkedWebComponentBlaze (T.pack $ show link))
 
 instance ( MonadUrl Rel t (RelativeUrlT HI.MarkupM)
          ) => Deploy WebComponent Locally (Path Rel t) (RelativeUrlT HI.MarkupM) where
   deploy WebComponent Locally i = do
     link <- pathUrl i
-    lift (linkedWebComponentBlaze (T.pack link))
+    lift (linkedWebComponentBlaze (T.pack $ show link))
 
 instance ( MonadUrl Abs t (GroundedUrlT HI.MarkupM)
          ) => Deploy WebComponent Locally (Location Abs t) (GroundedUrlT HI.MarkupM) where
   deploy WebComponent Locally i = do
     link <- locUrl i
-    lift (linkedWebComponentBlaze (T.pack link))
+    lift (linkedWebComponentBlaze (T.pack $ show link))
 
 instance ( MonadUrl Rel t (RelativeUrlT HI.MarkupM)
          ) => Deploy WebComponent Locally (Location Rel t) (RelativeUrlT HI.MarkupM) where
   deploy WebComponent Locally i = do
     link <- locUrl i
-    lift (linkedWebComponentBlaze (T.pack link))
+    lift (linkedWebComponentBlaze (T.pack $ show link))
 
