diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for polysemy-video
 
-## v0.0.1.0
+## v0.1.1.0
+
+* Support both `Abs` and `Rel`.
+
+## v0.1.0.0
 
 * Experimental DSL and interpreter.
diff --git a/polysemy-video.cabal b/polysemy-video.cabal
--- a/polysemy-video.cabal
+++ b/polysemy-video.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           polysemy-video
-version:        0.1.0.1
+version:        0.1.1.0
 description:    Experimental video processing DSL for polysemy.
 category:       video polysemy
 author:         Daniel Firth
diff --git a/src/Polysemy/Video.hs b/src/Polysemy/Video.hs
--- a/src/Polysemy/Video.hs
+++ b/src/Polysemy/Video.hs
@@ -41,9 +41,9 @@
 
 -- |
 data ClipProcess m a where
-  ExtractAudio  :: Path Rel File -> [(Range, Path Rel File)] -> ClipProcess m ()
-  ExtractClips  :: Path Rel File -> [(Range, Path Rel File)] -> ClipProcess m ()
-  ExtractFrames :: Path Rel File -> [(Time, Path Rel File)]  -> ClipProcess m ()
+  ExtractAudio  :: Path b File -> [(Range, Path b' File)] -> ClipProcess m ()
+  ExtractClips  :: Path b File -> [(Range, Path b' File)] -> ClipProcess m ()
+  ExtractFrames :: Path b File -> [(Time, Path b' File)]  -> ClipProcess m ()
 
 makeSem ''ClipProcess
 
@@ -56,15 +56,15 @@
 seekFF t = ["-ss", timeFF t]
 
 -- | "-ss <x> -to <y> <output>".
-rangeFF :: Range -> Path Rel File -> [Text]
+rangeFF :: Range -> Path b File -> [Text]
 rangeFF (Range f t) x = seekFF f ++ ["-to", timeFF t, toFilePathText x]
 
 -- | "-ss <x> -vframes 1 <output>"
-frameFF :: Time -> Path Rel File -> [Text]
+frameFF :: Time -> Path b File -> [Text]
 frameFF t x = seekFF t ++ ["-vframes", "1", toFilePathText x]
 
 -- | "-i <output>"
-inputFF :: Path Rel File -> [Text]
+inputFF :: Path b File -> [Text]
 inputFF x = ["-i", toFilePathText x]
 
 -- | "ffmpeg -y" followed by some arguments.
