diff --git a/pathtype.cabal b/pathtype.cabal
--- a/pathtype.cabal
+++ b/pathtype.cabal
@@ -1,6 +1,6 @@
 Cabal-Version:       2.2
 Name:                pathtype
-Version:             0.8.1.3
+Version:             0.8.1.4
 Synopsis:            Type-safe replacement for System.FilePath etc
 Description:
   This package provides type-safe access to filepath manipulations.
@@ -62,19 +62,21 @@
 HomePage:            https://hub.darcs.net/thielema/pathtype/
 Build-Type:          Simple
 Extra-Source-Files:
-  CHANGELOG
   README.md
   posix/System/Path/Host.hs
   windows/System/Path/Host.hs
   directory/pre-1.2/System/Path/ModificationTime.hs
   directory/post-incl-1.2/System/Path/ModificationTime.hs
 
+Extra-Doc-Files:
+  CHANGELOG
+
 Source-Repository head
   Type:     darcs
   Location: https://hub.darcs.net/thielema/pathtype/
 
 Source-Repository this
-  Tag:      0.8.1.3
+  Tag:      0.8.1.4
   Type:     darcs
   Location: https://hub.darcs.net/thielema/pathtype/
 
@@ -86,13 +88,13 @@
   Build-Depends:
     utility-ht >=0.0.11 && <0.1,
     doctest-exitcode-stdio >=0.0 && <0.1,
-    QuickCheck >= 2.1.0.1 && < 3,
-    deepseq >= 1.3 && <1.6,
-    time >= 1.0 && < 2,
+    QuickCheck >=2.1.0.1 && <3,
+    deepseq >=1.3 && <1.7,
+    time >=1.0 && <2,
     transformers >=0.3 && <0.7,
-    semigroups >=0.1 && <1.0,
+    semigroups >=0.1 && <1,
     tagged >=0.7 && <0.9,
-    base >= 4 && < 5
+    base >=4.11 && <5
 
   If flag(old-time)
     Build-Depends: directory >= 1 && < 1.2, old-time >= 1.0 && < 2
diff --git a/src/System/Path/Internal.hs b/src/System/Path/Internal.hs
--- a/src/System/Path/Internal.hs
+++ b/src/System/Path/Internal.hs
@@ -178,7 +178,7 @@
 import Data.Maybe.HT (toMaybe)
 import Data.Maybe (fromMaybe, maybeToList)
 import Data.Tuple.HT (mapFst, mapSnd)
-import Data.Monoid (Monoid(mempty, mappend, mconcat), Endo(Endo), appEndo)
+import Data.Monoid (Monoid(mempty, mconcat), Endo(Endo), appEndo)
 import Data.Semigroup (Semigroup(sconcat, (<>)), )
 import Data.Char (isSpace)
 import Data.Ord.HT (comparing)
@@ -999,7 +999,6 @@
 
 instance (Class.Rel ar, Class.Dir fd) => Monoid (Path os ar fd) where
     mempty = Path Class.relVar [] Class.dirVar
-    mappend (Path r pcs0 _dir) (Path _rel pcs1 d) = Path r (pcs0 ++ pcs1) d
     mconcat paths =
         Path Class.relVar
             (concatMap (\(Path _rel pcs _dir) -> pcs) paths) Class.dirVar
diff --git a/src/System/Path/RegularExpression.hs b/src/System/Path/RegularExpression.hs
--- a/src/System/Path/RegularExpression.hs
+++ b/src/System/Path/RegularExpression.hs
@@ -5,7 +5,7 @@
 import Control.Applicative (liftA2, (<|>))
 
 import qualified Data.List.HT as ListHT
-import Data.Monoid (Monoid, mempty, mappend)
+import Data.Monoid (Monoid, mempty)
 import Data.Semigroup (Semigroup, (<>))
 import Data.Maybe (fromMaybe)
 
@@ -17,7 +17,6 @@
 
 instance Monoid (Parser a) where
     mempty = Parser $ return []
-    mappend = (<>)
 
 infixr 5 -|-
 
diff --git a/test/Test/Posix/System/Path/Internal.hs b/test/Test/Posix/System/Path/Internal.hs
--- a/test/Test/Posix/System/Path/Internal.hs
+++ b/test/Test/Posix/System/Path/Internal.hs
@@ -472,573 +472,573 @@
 {-# LINE 868 "src/System/Path/Internal.hs" #-}
       Path.mkAbsPath (absDir "/tmp") "/etc/foo.txt" == Posix.absFile "/etc/foo.txt"
   )
+ DocTest.printPrefix "System.Path.Internal:1009: "
+{-# LINE 1009 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1009 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.absDir "/tmp" </> Posix.relFile "file.txt") == "/tmp/file.txt"
+  )
  DocTest.printPrefix "System.Path.Internal:1010: "
 {-# LINE 1010 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1010 "src/System/Path/Internal.hs" #-}
-      Posix.toString (Posix.absDir "/tmp" </> Posix.relFile "file.txt") == "/tmp/file.txt"
+      Posix.toString (Posix.absDir "/tmp" </> Posix.relDir "dir" </> Posix.relFile "file.txt") == "/tmp/dir/file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1011: "
 {-# LINE 1011 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1011 "src/System/Path/Internal.hs" #-}
-      Posix.toString (Posix.absDir "/tmp" </> Posix.relDir "dir" </> Posix.relFile "file.txt") == "/tmp/dir/file.txt"
+      Posix.toString (Posix.relDir "dir" </> Posix.relFile "file.txt") == "dir/file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1012: "
 {-# LINE 1012 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1012 "src/System/Path/Internal.hs" #-}
-      Posix.toString (Posix.relDir "dir" </> Posix.relFile "file.txt") == "dir/file.txt"
+      Windows.toString (Windows.absDir "\\tmp" </> Windows.relFile "file.txt") == "\\tmp\\file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1013: "
 {-# LINE 1013 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1013 "src/System/Path/Internal.hs" #-}
-      Windows.toString (Windows.absDir "\\tmp" </> Windows.relFile "file.txt") == "\\tmp\\file.txt"
+      Windows.toString (Windows.absDir "c:\\tmp" </> Windows.relFile "file.txt") == "c:\\tmp\\file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1014: "
 {-# LINE 1014 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1014 "src/System/Path/Internal.hs" #-}
-      Windows.toString (Windows.absDir "c:\\tmp" </> Windows.relFile "file.txt") == "c:\\tmp\\file.txt"
+      Windows.toString (Windows.absDir "c:tmp" </> Windows.relFile "file.txt") == "c:tmp\\file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1015: "
 {-# LINE 1015 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1015 "src/System/Path/Internal.hs" #-}
-      Windows.toString (Windows.absDir "c:tmp" </> Windows.relFile "file.txt") == "c:tmp\\file.txt"
+      Windows.toString (Windows.absDir "c:\\" </> Windows.relDir "tmp" </> Windows.relFile "file.txt") == "c:\\tmp\\file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1016: "
 {-# LINE 1016 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1016 "src/System/Path/Internal.hs" #-}
-      Windows.toString (Windows.absDir "c:\\" </> Windows.relDir "tmp" </> Windows.relFile "file.txt") == "c:\\tmp\\file.txt"
+      Windows.toString (Windows.absDir "c:" </> Windows.relDir "tmp" </> Windows.relFile "file.txt") == "c:tmp\\file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1017: "
 {-# LINE 1017 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1017 "src/System/Path/Internal.hs" #-}
-      Windows.toString (Windows.absDir "c:" </> Windows.relDir "tmp" </> Windows.relFile "file.txt") == "c:tmp\\file.txt"
+      Windows.toString (Windows.relDir "dir" </> Windows.relFile "file.txt") == "dir\\file.txt"
   )
- DocTest.printPrefix "System.Path.Internal:1018: "
-{-# LINE 1018 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1044: "
+{-# LINE 1044 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1018 "src/System/Path/Internal.hs" #-}
-      Windows.toString (Windows.relDir "dir" </> Windows.relFile "file.txt") == "dir\\file.txt"
+{-# LINE 1044 "src/System/Path/Internal.hs" #-}
+      Path.addExtension (relFile "file.txt") "bib" == Posix.relFile "file.txt.bib"
   )
  DocTest.printPrefix "System.Path.Internal:1045: "
 {-# LINE 1045 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1045 "src/System/Path/Internal.hs" #-}
-      Path.addExtension (relFile "file.txt") "bib" == Posix.relFile "file.txt.bib"
+      Path.addExtension (relFile "file.") ".bib" == Posix.relFile "file..bib"
   )
  DocTest.printPrefix "System.Path.Internal:1046: "
 {-# LINE 1046 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1046 "src/System/Path/Internal.hs" #-}
-      Path.addExtension (relFile "file.") ".bib" == Posix.relFile "file..bib"
+      Path.addExtension (relFile "file") ".bib" == Posix.relFile "file.bib"
   )
  DocTest.printPrefix "System.Path.Internal:1047: "
 {-# LINE 1047 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1047 "src/System/Path/Internal.hs" #-}
-      Path.addExtension (relFile "file") ".bib" == Posix.relFile "file.bib"
+      Path.addExtension Path.emptyFile "bib" == Posix.relFile ".bib"
   )
  DocTest.printPrefix "System.Path.Internal:1048: "
 {-# LINE 1048 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1048 "src/System/Path/Internal.hs" #-}
-      Path.addExtension Path.emptyFile "bib" == Posix.relFile ".bib"
+      Path.addExtension Path.emptyFile ".bib" == Posix.relFile ".bib"
   )
  DocTest.printPrefix "System.Path.Internal:1049: "
 {-# LINE 1049 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1049 "src/System/Path/Internal.hs" #-}
-      Path.addExtension Path.emptyFile ".bib" == Posix.relFile ".bib"
-  )
- DocTest.printPrefix "System.Path.Internal:1050: "
-{-# LINE 1050 "src/System/Path/Internal.hs" #-}
- DocTest.property(
-{-# LINE 1050 "src/System/Path/Internal.hs" #-}
       Path.takeFileName (Path.addExtension Path.emptyFile "ext") == Posix.relFile ".ext"
   )
- DocTest.printPrefix "System.Path.Internal:1057: "
-{-# LINE 1057 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1056: "
+{-# LINE 1056 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1057 "src/System/Path/Internal.hs" #-}
+{-# LINE 1056 "src/System/Path/Internal.hs" #-}
       \p -> Path.combine Path.currentDir p == (p::Default.RelDir)
   )
- DocTest.printPrefix "System.Path.Internal:1064: "
-{-# LINE 1064 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1063: "
+{-# LINE 1063 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1064 "src/System/Path/Internal.hs" #-}
+{-# LINE 1063 "src/System/Path/Internal.hs" #-}
       forAllAbsRel $ \x -> Path.dropExtension x == fst (Path.splitExtension x)
   )
- DocTest.printPrefix "System.Path.Internal:1070: "
-{-# LINE 1070 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1069: "
+{-# LINE 1069 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1070 "src/System/Path/Internal.hs" #-}
+{-# LINE 1069 "src/System/Path/Internal.hs" #-}
       forAllAbsRel $ \x -> not $ Path.hasAnExtension (Path.dropExtensions x)
   )
+ DocTest.printPrefix "System.Path.Internal:1080: "
+{-# LINE 1080 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1080 "src/System/Path/Internal.hs" #-}
+      Path.replaceExtension (relFile "file.txt") ".bob" == Posix.relFile "file.bob"
+  )
  DocTest.printPrefix "System.Path.Internal:1081: "
 {-# LINE 1081 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1081 "src/System/Path/Internal.hs" #-}
-      Path.replaceExtension (relFile "file.txt") ".bob" == Posix.relFile "file.bob"
+      Path.replaceExtension (relFile "file.txt") "bob" == Posix.relFile "file.bob"
   )
  DocTest.printPrefix "System.Path.Internal:1082: "
 {-# LINE 1082 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1082 "src/System/Path/Internal.hs" #-}
-      Path.replaceExtension (relFile "file.txt") "bob" == Posix.relFile "file.bob"
+      Path.replaceExtension (relFile "file") ".bob" == Posix.relFile "file.bob"
   )
  DocTest.printPrefix "System.Path.Internal:1083: "
 {-# LINE 1083 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1083 "src/System/Path/Internal.hs" #-}
-      Path.replaceExtension (relFile "file") ".bob" == Posix.relFile "file.bob"
+      Path.replaceExtension (relFile "file.txt") "" == Posix.relFile "file"
   )
  DocTest.printPrefix "System.Path.Internal:1084: "
 {-# LINE 1084 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1084 "src/System/Path/Internal.hs" #-}
-      Path.replaceExtension (relFile "file.txt") "" == Posix.relFile "file"
+      Path.replaceExtension (relFile "file.fred.bob") "txt" == Posix.relFile "file.fred.txt"
   )
- DocTest.printPrefix "System.Path.Internal:1085: "
-{-# LINE 1085 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1101: "
+{-# LINE 1101 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1085 "src/System/Path/Internal.hs" #-}
-      Path.replaceExtension (relFile "file.fred.bob") "txt" == Posix.relFile "file.fred.txt"
+{-# LINE 1101 "src/System/Path/Internal.hs" #-}
+      forAllAbsRel $ \x -> uncurry (<.>) (Path.splitExtension x) == x
   )
  DocTest.printPrefix "System.Path.Internal:1102: "
 {-# LINE 1102 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1102 "src/System/Path/Internal.hs" #-}
-      forAllAbsRel $ \x -> uncurry (<.>) (Path.splitExtension x) == x
+      forAllAbsRel $ \x -> uncurry Path.addExtension (Path.splitExtension x) == x
   )
  DocTest.printPrefix "System.Path.Internal:1103: "
 {-# LINE 1103 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1103 "src/System/Path/Internal.hs" #-}
-      forAllAbsRel $ \x -> uncurry Path.addExtension (Path.splitExtension x) == x
+      Path.splitExtension (relFile "file.txt") == (Posix.relFile "file",".txt")
   )
  DocTest.printPrefix "System.Path.Internal:1104: "
 {-# LINE 1104 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1104 "src/System/Path/Internal.hs" #-}
-      Path.splitExtension (relFile "file.txt") == (Posix.relFile "file",".txt")
+      Path.splitExtension (relFile ".bashrc") == (Posix.emptyFile, ".bashrc")
   )
  DocTest.printPrefix "System.Path.Internal:1105: "
 {-# LINE 1105 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1105 "src/System/Path/Internal.hs" #-}
-      Path.splitExtension (relFile ".bashrc") == (Posix.emptyFile, ".bashrc")
+      Path.splitExtension (relFile "file") == (Posix.relFile "file","")
   )
  DocTest.printPrefix "System.Path.Internal:1106: "
 {-# LINE 1106 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1106 "src/System/Path/Internal.hs" #-}
-      Path.splitExtension (relFile "file") == (Posix.relFile "file","")
+      Path.splitExtension (relFile "file/file.txt") == (Posix.relFile "file/file",".txt")
   )
  DocTest.printPrefix "System.Path.Internal:1107: "
 {-# LINE 1107 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1107 "src/System/Path/Internal.hs" #-}
-      Path.splitExtension (relFile "file/file.txt") == (Posix.relFile "file/file",".txt")
+      Path.splitExtension (relFile "file.txt/boris") == (Posix.relFile "file.txt/boris","")
   )
  DocTest.printPrefix "System.Path.Internal:1108: "
 {-# LINE 1108 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1108 "src/System/Path/Internal.hs" #-}
-      Path.splitExtension (relFile "file.txt/boris") == (Posix.relFile "file.txt/boris","")
+      Path.splitExtension (relFile "file.txt/boris.ext") == (Posix.relFile "file.txt/boris",".ext")
   )
  DocTest.printPrefix "System.Path.Internal:1109: "
 {-# LINE 1109 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1109 "src/System/Path/Internal.hs" #-}
-      Path.splitExtension (relFile "file.txt/boris.ext") == (Posix.relFile "file.txt/boris",".ext")
+      Path.splitExtension (relFile "file/path.txt.bob.fred") == (Posix.relFile "file/path.txt.bob",".fred")
   )
- DocTest.printPrefix "System.Path.Internal:1110: "
-{-# LINE 1110 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1115: "
+{-# LINE 1115 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1110 "src/System/Path/Internal.hs" #-}
-      Path.splitExtension (relFile "file/path.txt.bob.fred") == (Posix.relFile "file/path.txt.bob",".fred")
+{-# LINE 1115 "src/System/Path/Internal.hs" #-}
+      Path.splitExtensions (relFile "file.tar.gz") == (Posix.relFile "file",".tar.gz")
   )
  DocTest.printPrefix "System.Path.Internal:1116: "
 {-# LINE 1116 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1116 "src/System/Path/Internal.hs" #-}
-      Path.splitExtensions (relFile "file.tar.gz") == (Posix.relFile "file",".tar.gz")
-  )
- DocTest.printPrefix "System.Path.Internal:1117: "
-{-# LINE 1117 "src/System/Path/Internal.hs" #-}
- DocTest.property(
-{-# LINE 1117 "src/System/Path/Internal.hs" #-}
       \p -> uncurry (<.>) (Path.splitExtension p) == (p::Default.AbsFile)
   )
- DocTest.printPrefix "System.Path.Internal:1121: "
-{-# LINE 1121 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1120: "
+{-# LINE 1120 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1121 "src/System/Path/Internal.hs" #-}
+{-# LINE 1120 "src/System/Path/Internal.hs" #-}
            \p -> uncurry Path.combine (Path.splitFileName p) == (p::Default.AbsFile)
   )
+ DocTest.printPrefix "System.Path.Internal:1136: "
+{-# LINE 1136 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1136 "src/System/Path/Internal.hs" #-}
+      Path.takeBaseName (absFile "/tmp/somedir/myfile.txt") == Posix.relFile "myfile"
+  )
  DocTest.printPrefix "System.Path.Internal:1137: "
 {-# LINE 1137 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1137 "src/System/Path/Internal.hs" #-}
-      Path.takeBaseName (absFile "/tmp/somedir/myfile.txt") == Posix.relFile "myfile"
+      Path.takeBaseName (relFile "./myfile.txt") == Posix.relFile "myfile"
   )
  DocTest.printPrefix "System.Path.Internal:1138: "
 {-# LINE 1138 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1138 "src/System/Path/Internal.hs" #-}
-      Path.takeBaseName (relFile "./myfile.txt") == Posix.relFile "myfile"
+      Path.takeBaseName (relFile "myfile.txt") == Posix.relFile "myfile"
   )
- DocTest.printPrefix "System.Path.Internal:1139: "
-{-# LINE 1139 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1157: "
+{-# LINE 1157 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1139 "src/System/Path/Internal.hs" #-}
-      Path.takeBaseName (relFile "myfile.txt") == Posix.relFile "myfile"
+{-# LINE 1157 "src/System/Path/Internal.hs" #-}
+      forAllAbsRel $ \x -> Path.takeExtension x == snd (Path.splitExtension x)
   )
  DocTest.printPrefix "System.Path.Internal:1158: "
 {-# LINE 1158 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1158 "src/System/Path/Internal.hs" #-}
-      forAllAbsRel $ \x -> Path.takeExtension x == snd (Path.splitExtension x)
+      forAllAbsRel $ \x -> Path.takeExtension (Path.addExtension x "ext") == ".ext"
   )
  DocTest.printPrefix "System.Path.Internal:1159: "
 {-# LINE 1159 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1159 "src/System/Path/Internal.hs" #-}
-      forAllAbsRel $ \x -> Path.takeExtension (Path.addExtension x "ext") == ".ext"
-  )
- DocTest.printPrefix "System.Path.Internal:1160: "
-{-# LINE 1160 "src/System/Path/Internal.hs" #-}
- DocTest.property(
-{-# LINE 1160 "src/System/Path/Internal.hs" #-}
       forAllAbsRel $ \x -> Path.takeExtension (Path.replaceExtension x "ext") == ".ext"
   )
- DocTest.printPrefix "System.Path.Internal:1166: "
-{-# LINE 1166 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1165: "
+{-# LINE 1165 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1166 "src/System/Path/Internal.hs" #-}
+{-# LINE 1165 "src/System/Path/Internal.hs" #-}
       Path.takeExtensions (Posix.relFile "file.tar.gz") == ".tar.gz"
   )
+ DocTest.printPrefix "System.Path.Internal:1171: "
+{-# LINE 1171 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1171 "src/System/Path/Internal.hs" #-}
+      Path.takeFileName (absFile "/tmp/somedir/myfile.txt") == Posix.relFile "myfile.txt"
+  )
  DocTest.printPrefix "System.Path.Internal:1172: "
 {-# LINE 1172 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1172 "src/System/Path/Internal.hs" #-}
-      Path.takeFileName (absFile "/tmp/somedir/myfile.txt") == Posix.relFile "myfile.txt"
+      Path.takeFileName (relFile "./myfile.txt") == Posix.relFile "myfile.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1173: "
 {-# LINE 1173 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1173 "src/System/Path/Internal.hs" #-}
-      Path.takeFileName (relFile "./myfile.txt") == Posix.relFile "myfile.txt"
+      Path.takeFileName (relFile "myfile.txt") == Posix.relFile "myfile.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1174: "
 {-# LINE 1174 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1174 "src/System/Path/Internal.hs" #-}
-      Path.takeFileName (relFile "myfile.txt") == Posix.relFile "myfile.txt"
+      \p -> Path.toString (Path.takeFileName p) `isSuffixOf` Path.toString (p::Default.AbsFile)
   )
- DocTest.printPrefix "System.Path.Internal:1175: "
-{-# LINE 1175 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1203: "
+{-# LINE 1203 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1175 "src/System/Path/Internal.hs" #-}
-      \p -> Path.toString (Path.takeFileName p) `isSuffixOf` Path.toString (p::Default.AbsFile)
+{-# LINE 1203 "src/System/Path/Internal.hs" #-}
+            Posix.equalFilePath "abc/def" "abc/def"
   )
  DocTest.printPrefix "System.Path.Internal:1204: "
 {-# LINE 1204 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1204 "src/System/Path/Internal.hs" #-}
-            Posix.equalFilePath "abc/def" "abc/def"
+            Posix.equalFilePath "abc/def" "abc//def"
   )
  DocTest.printPrefix "System.Path.Internal:1205: "
 {-# LINE 1205 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1205 "src/System/Path/Internal.hs" #-}
-            Posix.equalFilePath "abc/def" "abc//def"
+            Posix.equalFilePath "/tmp/" "/tmp"
   )
  DocTest.printPrefix "System.Path.Internal:1206: "
 {-# LINE 1206 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1206 "src/System/Path/Internal.hs" #-}
-            Posix.equalFilePath "/tmp/" "/tmp"
+            Posix.equalFilePath "/tmp" "//tmp"
   )
  DocTest.printPrefix "System.Path.Internal:1207: "
 {-# LINE 1207 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1207 "src/System/Path/Internal.hs" #-}
-            Posix.equalFilePath "/tmp" "//tmp"
+            Posix.equalFilePath "/tmp" "///tmp"
   )
  DocTest.printPrefix "System.Path.Internal:1208: "
 {-# LINE 1208 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1208 "src/System/Path/Internal.hs" #-}
-            Posix.equalFilePath "/tmp" "///tmp"
+      not $ Posix.equalFilePath "abc" "def"
   )
  DocTest.printPrefix "System.Path.Internal:1209: "
 {-# LINE 1209 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1209 "src/System/Path/Internal.hs" #-}
-      not $ Posix.equalFilePath "abc" "def"
+      not $ Posix.equalFilePath "/tmp" "tmp"
   )
  DocTest.printPrefix "System.Path.Internal:1210: "
 {-# LINE 1210 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1210 "src/System/Path/Internal.hs" #-}
-      not $ Posix.equalFilePath "/tmp" "tmp"
+            Windows.equalFilePath "abc\\def" "abc\\def"
   )
  DocTest.printPrefix "System.Path.Internal:1211: "
 {-# LINE 1211 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1211 "src/System/Path/Internal.hs" #-}
-            Windows.equalFilePath "abc\\def" "abc\\def"
+            Windows.equalFilePath "abc\\def" "abc\\\\def"
   )
  DocTest.printPrefix "System.Path.Internal:1212: "
 {-# LINE 1212 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1212 "src/System/Path/Internal.hs" #-}
-            Windows.equalFilePath "abc\\def" "abc\\\\def"
+            Windows.equalFilePath "file" "File"
   )
  DocTest.printPrefix "System.Path.Internal:1213: "
 {-# LINE 1213 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1213 "src/System/Path/Internal.hs" #-}
-            Windows.equalFilePath "file" "File"
+            Windows.equalFilePath "\\file" "\\\\file"
   )
  DocTest.printPrefix "System.Path.Internal:1214: "
 {-# LINE 1214 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1214 "src/System/Path/Internal.hs" #-}
-            Windows.equalFilePath "\\file" "\\\\file"
+            Windows.equalFilePath "\\file" "\\\\\\file"
   )
  DocTest.printPrefix "System.Path.Internal:1215: "
 {-# LINE 1215 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1215 "src/System/Path/Internal.hs" #-}
-            Windows.equalFilePath "\\file" "\\\\\\file"
+      not $ Windows.equalFilePath "abc" "def"
   )
  DocTest.printPrefix "System.Path.Internal:1216: "
 {-# LINE 1216 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1216 "src/System/Path/Internal.hs" #-}
-      not $ Windows.equalFilePath "abc" "def"
+      not $ Windows.equalFilePath "file" "dir"
   )
- DocTest.printPrefix "System.Path.Internal:1217: "
-{-# LINE 1217 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1229: "
+{-# LINE 1229 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1217 "src/System/Path/Internal.hs" #-}
-      not $ Windows.equalFilePath "file" "dir"
+{-# LINE 1229 "src/System/Path/Internal.hs" #-}
+      Path.joinPath ["tmp","someDir","dir"] == Posix.relDir "tmp/someDir/dir"
   )
  DocTest.printPrefix "System.Path.Internal:1230: "
 {-# LINE 1230 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1230 "src/System/Path/Internal.hs" #-}
-      Path.joinPath ["tmp","someDir","dir"] == Posix.relDir "tmp/someDir/dir"
-  )
- DocTest.printPrefix "System.Path.Internal:1231: "
-{-# LINE 1231 "src/System/Path/Internal.hs" #-}
- DocTest.property(
-{-# LINE 1231 "src/System/Path/Internal.hs" #-}
       Path.joinPath ["tmp","someDir","file.txt"] == Posix.relFile "tmp/someDir/file.txt"
   )
- DocTest.printPrefix "System.Path.Internal:1237: "
-{-# LINE 1237 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1236: "
+{-# LINE 1236 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1237 "src/System/Path/Internal.hs" #-}
+{-# LINE 1236 "src/System/Path/Internal.hs" #-}
       Path.normalise (absFile "/tmp/fred/./jim/./file") == Posix.absFile "/tmp/fred/jim/file"
   )
+ DocTest.printPrefix "System.Path.Internal:1242: "
+{-# LINE 1242 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1242 "src/System/Path/Internal.hs" #-}
+      Path.splitPath (Posix.absDir "/tmp/someDir/mydir.dir") == (True, map relDir ["tmp","someDir","mydir.dir"], Nothing)
+  )
  DocTest.printPrefix "System.Path.Internal:1243: "
 {-# LINE 1243 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1243 "src/System/Path/Internal.hs" #-}
-      Path.splitPath (Posix.absDir "/tmp/someDir/mydir.dir") == (True, map relDir ["tmp","someDir","mydir.dir"], Nothing)
+      Path.splitPath (Posix.absFile "/tmp/someDir/myfile.txt") == (True, map relDir ["tmp","someDir"], Just $ relFile "myfile.txt")
   )
- DocTest.printPrefix "System.Path.Internal:1244: "
-{-# LINE 1244 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1259: "
+{-# LINE 1259 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1244 "src/System/Path/Internal.hs" #-}
-      Path.splitPath (Posix.absFile "/tmp/someDir/myfile.txt") == (True, map relDir ["tmp","someDir"], Just $ relFile "myfile.txt")
+{-# LINE 1259 "src/System/Path/Internal.hs" #-}
+      Path.makeRelative (absDir "/tmp/somedir") (absFile "/tmp/somedir/anotherdir/file.txt") == Posix.relFile "anotherdir/file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1260: "
 {-# LINE 1260 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1260 "src/System/Path/Internal.hs" #-}
-      Path.makeRelative (absDir "/tmp/somedir") (absFile "/tmp/somedir/anotherdir/file.txt") == Posix.relFile "anotherdir/file.txt"
+      Path.makeRelative (absDir "/tmp/somedir") (absDir "/tmp/somedir/anotherdir/dir") == Posix.relDir "anotherdir/dir"
   )
  DocTest.printPrefix "System.Path.Internal:1261: "
 {-# LINE 1261 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1261 "src/System/Path/Internal.hs" #-}
-      Path.makeRelative (absDir "/tmp/somedir") (absDir "/tmp/somedir/anotherdir/dir") == Posix.relDir "anotherdir/dir"
+      Path.makeRelative (absDir "c:\\tmp\\somedir") (absFile "C:\\Tmp\\SomeDir\\AnotherDir\\File.txt") == Windows.relFile "AnotherDir\\File.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1262: "
 {-# LINE 1262 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1262 "src/System/Path/Internal.hs" #-}
-      Path.makeRelative (absDir "c:\\tmp\\somedir") (absFile "C:\\Tmp\\SomeDir\\AnotherDir\\File.txt") == Windows.relFile "AnotherDir\\File.txt"
+      Path.makeRelative (absDir "c:\\tmp\\somedir") (absDir "c:\\tmp\\somedir\\anotherdir\\dir") == Windows.relDir "anotherdir\\dir"
   )
  DocTest.printPrefix "System.Path.Internal:1263: "
 {-# LINE 1263 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1263 "src/System/Path/Internal.hs" #-}
-      Path.makeRelative (absDir "c:\\tmp\\somedir") (absDir "c:\\tmp\\somedir\\anotherdir\\dir") == Windows.relDir "anotherdir\\dir"
+      Path.makeRelative (absDir "c:tmp\\somedir") (absDir "c:tmp\\somedir\\anotherdir\\dir") == Windows.relDir "anotherdir\\dir"
   )
- DocTest.printPrefix "System.Path.Internal:1264: "
-{-# LINE 1264 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1290: "
+{-# LINE 1290 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1264 "src/System/Path/Internal.hs" #-}
-      Path.makeRelative (absDir "c:tmp\\somedir") (absDir "c:tmp\\somedir\\anotherdir\\dir") == Windows.relDir "anotherdir\\dir"
+{-# LINE 1290 "src/System/Path/Internal.hs" #-}
+      Path.makeAbsolute (absDir "/tmp") (relFile "file.txt")      == Posix.absFile "/tmp/file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1291: "
 {-# LINE 1291 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1291 "src/System/Path/Internal.hs" #-}
-      Path.makeAbsolute (absDir "/tmp") (relFile "file.txt")      == Posix.absFile "/tmp/file.txt"
+      Path.makeAbsolute (absDir "/tmp") (relFile "adir/file.txt") == Posix.absFile "/tmp/adir/file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1292: "
 {-# LINE 1292 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1292 "src/System/Path/Internal.hs" #-}
-      Path.makeAbsolute (absDir "/tmp") (relFile "adir/file.txt") == Posix.absFile "/tmp/adir/file.txt"
+      Path.makeAbsolute (absDir "/tmp") (relDir  "adir/dir")      == Posix.absDir "/tmp/adir/dir"
   )
  DocTest.printPrefix "System.Path.Internal:1293: "
 {-# LINE 1293 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1293 "src/System/Path/Internal.hs" #-}
-      Path.makeAbsolute (absDir "/tmp") (relDir  "adir/dir")      == Posix.absDir "/tmp/adir/dir"
+      \base p -> Default.toString p `isSuffixOf` Path.toString (Path.makeAbsolute base (Path.idFile p))
   )
  DocTest.printPrefix "System.Path.Internal:1294: "
 {-# LINE 1294 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1294 "src/System/Path/Internal.hs" #-}
-      \base p -> Default.toString p `isSuffixOf` Path.toString (Path.makeAbsolute base (Path.idFile p))
+      \base p -> Default.toString base `isPrefixOf` Path.toString (Path.makeAbsolute base (Path.idFile p))
   )
- DocTest.printPrefix "System.Path.Internal:1295: "
-{-# LINE 1295 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1316: "
+{-# LINE 1316 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1295 "src/System/Path/Internal.hs" #-}
-      \base p -> Default.toString base `isPrefixOf` Path.toString (Path.makeAbsolute base (Path.idFile p))
+{-# LINE 1316 "src/System/Path/Internal.hs" #-}
+      Path.genericMakeAbsolute (absDir "/tmp") (relFile "file.txt")       == Posix.absFile "/tmp/file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1317: "
 {-# LINE 1317 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1317 "src/System/Path/Internal.hs" #-}
-      Path.genericMakeAbsolute (absDir "/tmp") (relFile "file.txt")       == Posix.absFile "/tmp/file.txt"
+      Path.genericMakeAbsolute (absDir "/tmp") (relFile "adir/file.txt")  == Posix.absFile "/tmp/adir/file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1318: "
 {-# LINE 1318 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1318 "src/System/Path/Internal.hs" #-}
-      Path.genericMakeAbsolute (absDir "/tmp") (relFile "adir/file.txt")  == Posix.absFile "/tmp/adir/file.txt"
+      Path.genericMakeAbsolute (absDir "/tmp") (absFile "/adir/file.txt") == Posix.absFile "/adir/file.txt"
   )
- DocTest.printPrefix "System.Path.Internal:1319: "
-{-# LINE 1319 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1403: "
+{-# LINE 1403 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1319 "src/System/Path/Internal.hs" #-}
-      Path.genericMakeAbsolute (absDir "/tmp") (absFile "/adir/file.txt") == Posix.absFile "/adir/file.txt"
+{-# LINE 1403 "src/System/Path/Internal.hs" #-}
+      Path.isAbsolute (Posix.absFile "/fred")
   )
  DocTest.printPrefix "System.Path.Internal:1404: "
 {-# LINE 1404 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1404 "src/System/Path/Internal.hs" #-}
-      Path.isAbsolute (Posix.absFile "/fred")
+      Path.isAbsolute (Windows.absFile "\\fred")
   )
  DocTest.printPrefix "System.Path.Internal:1405: "
 {-# LINE 1405 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1405 "src/System/Path/Internal.hs" #-}
-      Path.isAbsolute (Windows.absFile "\\fred")
+      Path.isAbsolute (Windows.absFile "c:\\fred")
   )
  DocTest.printPrefix "System.Path.Internal:1406: "
 {-# LINE 1406 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1406 "src/System/Path/Internal.hs" #-}
-      Path.isAbsolute (Windows.absFile "c:\\fred")
+      Path.isAbsolute (Windows.absFile "c:fred")
   )
- DocTest.printPrefix "System.Path.Internal:1407: "
-{-# LINE 1407 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1413: "
+{-# LINE 1413 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1407 "src/System/Path/Internal.hs" #-}
-      Path.isAbsolute (Windows.absFile "c:fred")
+{-# LINE 1413 "src/System/Path/Internal.hs" #-}
+      Path.isRelative (Posix.relFile "fred")
   )
  DocTest.printPrefix "System.Path.Internal:1414: "
 {-# LINE 1414 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1414 "src/System/Path/Internal.hs" #-}
-      Path.isRelative (Posix.relFile "fred")
-  )
- DocTest.printPrefix "System.Path.Internal:1415: "
-{-# LINE 1415 "src/System/Path/Internal.hs" #-}
- DocTest.property(
-{-# LINE 1415 "src/System/Path/Internal.hs" #-}
       Path.isRelative (Windows.relFile "fred")
   )
- DocTest.printPrefix "System.Path.Internal:1440: "
-{-# LINE 1440 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1439: "
+{-# LINE 1439 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1440 "src/System/Path/Internal.hs" #-}
+{-# LINE 1439 "src/System/Path/Internal.hs" #-}
       forAllAbsRel $ \x -> null (Path.takeExtension x) == not (Path.hasAnExtension x)
   )
+ DocTest.printPrefix "System.Path.Internal:1445: "
+{-# LINE 1445 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1445 "src/System/Path/Internal.hs" #-}
+      Path.hasExtension ".hs" (Posix.relFile "MyCode.hs")
+  )
  DocTest.printPrefix "System.Path.Internal:1446: "
 {-# LINE 1446 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1446 "src/System/Path/Internal.hs" #-}
-      Path.hasExtension ".hs" (Posix.relFile "MyCode.hs")
+      Path.hasExtension ".hs" (Posix.relFile "MyCode.bak.hs")
   )
  DocTest.printPrefix "System.Path.Internal:1447: "
 {-# LINE 1447 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1447 "src/System/Path/Internal.hs" #-}
-      Path.hasExtension ".hs" (Posix.relFile "MyCode.bak.hs")
-  )
- DocTest.printPrefix "System.Path.Internal:1448: "
-{-# LINE 1448 "src/System/Path/Internal.hs" #-}
- DocTest.property(
-{-# LINE 1448 "src/System/Path/Internal.hs" #-}
       not $ Path.hasExtension ".hs" (Posix.relFile "MyCode.hs.bak")
   )
- DocTest.printPrefix "System.Path.Internal:1458: "
-{-# LINE 1458 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1457: "
+{-# LINE 1457 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1458 "src/System/Path/Internal.hs" #-}
+{-# LINE 1457 "src/System/Path/Internal.hs" #-}
       Posix.extSeparator == '.'
   )
- DocTest.printPrefix "System.Path.Internal:1469: "
-{-# LINE 1469 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1468: "
+{-# LINE 1468 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1469 "src/System/Path/Internal.hs" #-}
+{-# LINE 1468 "src/System/Path/Internal.hs" #-}
       \a -> Posix.isExtSeparator a == (a == Posix.extSeparator)
   )
- DocTest.printPrefix "System.Path.Internal:1475: "
-{-# LINE 1475 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1474: "
+{-# LINE 1474 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1475 "src/System/Path/Internal.hs" #-}
+{-# LINE 1474 "src/System/Path/Internal.hs" #-}
       \a -> Posix.isSearchPathSeparator a == (a == Posix.searchPathSeparator)
   )
+ DocTest.printPrefix "System.Path.Internal:1490: "
+{-# LINE 1490 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1490 "src/System/Path/Internal.hs" #-}
+      Path.genericAddExtension (absDir "/") "x" == Posix.absDir "/.x"
+  )
  DocTest.printPrefix "System.Path.Internal:1491: "
 {-# LINE 1491 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1491 "src/System/Path/Internal.hs" #-}
-      Path.genericAddExtension (absDir "/") "x" == Posix.absDir "/.x"
+      Path.genericAddExtension (absDir "/a") "x" == Posix.absDir "/a.x"
   )
  DocTest.printPrefix "System.Path.Internal:1492: "
 {-# LINE 1492 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1492 "src/System/Path/Internal.hs" #-}
-      Path.genericAddExtension (absDir "/a") "x" == Posix.absDir "/a.x"
+      Path.genericAddExtension Path.emptyFile "x" == Posix.relFile ".x"
   )
  DocTest.printPrefix "System.Path.Internal:1493: "
 {-# LINE 1493 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1493 "src/System/Path/Internal.hs" #-}
-      Path.genericAddExtension Path.emptyFile "x" == Posix.relFile ".x"
-  )
- DocTest.printPrefix "System.Path.Internal:1494: "
-{-# LINE 1494 "src/System/Path/Internal.hs" #-}
- DocTest.property(
-{-# LINE 1494 "src/System/Path/Internal.hs" #-}
       Path.genericAddExtension Path.emptyFile "" == Posix.emptyFile
   )
diff --git a/test/Test/Windows/System/Path/Internal.hs b/test/Test/Windows/System/Path/Internal.hs
--- a/test/Test/Windows/System/Path/Internal.hs
+++ b/test/Test/Windows/System/Path/Internal.hs
@@ -472,573 +472,573 @@
 {-# LINE 868 "src/System/Path/Internal.hs" #-}
       Path.mkAbsPath (absDir "/tmp") "/etc/foo.txt" == Posix.absFile "/etc/foo.txt"
   )
+ DocTest.printPrefix "System.Path.Internal:1009: "
+{-# LINE 1009 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1009 "src/System/Path/Internal.hs" #-}
+      Posix.toString (Posix.absDir "/tmp" </> Posix.relFile "file.txt") == "/tmp/file.txt"
+  )
  DocTest.printPrefix "System.Path.Internal:1010: "
 {-# LINE 1010 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1010 "src/System/Path/Internal.hs" #-}
-      Posix.toString (Posix.absDir "/tmp" </> Posix.relFile "file.txt") == "/tmp/file.txt"
+      Posix.toString (Posix.absDir "/tmp" </> Posix.relDir "dir" </> Posix.relFile "file.txt") == "/tmp/dir/file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1011: "
 {-# LINE 1011 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1011 "src/System/Path/Internal.hs" #-}
-      Posix.toString (Posix.absDir "/tmp" </> Posix.relDir "dir" </> Posix.relFile "file.txt") == "/tmp/dir/file.txt"
+      Posix.toString (Posix.relDir "dir" </> Posix.relFile "file.txt") == "dir/file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1012: "
 {-# LINE 1012 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1012 "src/System/Path/Internal.hs" #-}
-      Posix.toString (Posix.relDir "dir" </> Posix.relFile "file.txt") == "dir/file.txt"
+      Windows.toString (Windows.absDir "\\tmp" </> Windows.relFile "file.txt") == "\\tmp\\file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1013: "
 {-# LINE 1013 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1013 "src/System/Path/Internal.hs" #-}
-      Windows.toString (Windows.absDir "\\tmp" </> Windows.relFile "file.txt") == "\\tmp\\file.txt"
+      Windows.toString (Windows.absDir "c:\\tmp" </> Windows.relFile "file.txt") == "c:\\tmp\\file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1014: "
 {-# LINE 1014 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1014 "src/System/Path/Internal.hs" #-}
-      Windows.toString (Windows.absDir "c:\\tmp" </> Windows.relFile "file.txt") == "c:\\tmp\\file.txt"
+      Windows.toString (Windows.absDir "c:tmp" </> Windows.relFile "file.txt") == "c:tmp\\file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1015: "
 {-# LINE 1015 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1015 "src/System/Path/Internal.hs" #-}
-      Windows.toString (Windows.absDir "c:tmp" </> Windows.relFile "file.txt") == "c:tmp\\file.txt"
+      Windows.toString (Windows.absDir "c:\\" </> Windows.relDir "tmp" </> Windows.relFile "file.txt") == "c:\\tmp\\file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1016: "
 {-# LINE 1016 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1016 "src/System/Path/Internal.hs" #-}
-      Windows.toString (Windows.absDir "c:\\" </> Windows.relDir "tmp" </> Windows.relFile "file.txt") == "c:\\tmp\\file.txt"
+      Windows.toString (Windows.absDir "c:" </> Windows.relDir "tmp" </> Windows.relFile "file.txt") == "c:tmp\\file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1017: "
 {-# LINE 1017 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1017 "src/System/Path/Internal.hs" #-}
-      Windows.toString (Windows.absDir "c:" </> Windows.relDir "tmp" </> Windows.relFile "file.txt") == "c:tmp\\file.txt"
+      Windows.toString (Windows.relDir "dir" </> Windows.relFile "file.txt") == "dir\\file.txt"
   )
- DocTest.printPrefix "System.Path.Internal:1018: "
-{-# LINE 1018 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1044: "
+{-# LINE 1044 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1018 "src/System/Path/Internal.hs" #-}
-      Windows.toString (Windows.relDir "dir" </> Windows.relFile "file.txt") == "dir\\file.txt"
+{-# LINE 1044 "src/System/Path/Internal.hs" #-}
+      Path.addExtension (relFile "file.txt") "bib" == Posix.relFile "file.txt.bib"
   )
  DocTest.printPrefix "System.Path.Internal:1045: "
 {-# LINE 1045 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1045 "src/System/Path/Internal.hs" #-}
-      Path.addExtension (relFile "file.txt") "bib" == Posix.relFile "file.txt.bib"
+      Path.addExtension (relFile "file.") ".bib" == Posix.relFile "file..bib"
   )
  DocTest.printPrefix "System.Path.Internal:1046: "
 {-# LINE 1046 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1046 "src/System/Path/Internal.hs" #-}
-      Path.addExtension (relFile "file.") ".bib" == Posix.relFile "file..bib"
+      Path.addExtension (relFile "file") ".bib" == Posix.relFile "file.bib"
   )
  DocTest.printPrefix "System.Path.Internal:1047: "
 {-# LINE 1047 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1047 "src/System/Path/Internal.hs" #-}
-      Path.addExtension (relFile "file") ".bib" == Posix.relFile "file.bib"
+      Path.addExtension Path.emptyFile "bib" == Posix.relFile ".bib"
   )
  DocTest.printPrefix "System.Path.Internal:1048: "
 {-# LINE 1048 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1048 "src/System/Path/Internal.hs" #-}
-      Path.addExtension Path.emptyFile "bib" == Posix.relFile ".bib"
+      Path.addExtension Path.emptyFile ".bib" == Posix.relFile ".bib"
   )
  DocTest.printPrefix "System.Path.Internal:1049: "
 {-# LINE 1049 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1049 "src/System/Path/Internal.hs" #-}
-      Path.addExtension Path.emptyFile ".bib" == Posix.relFile ".bib"
-  )
- DocTest.printPrefix "System.Path.Internal:1050: "
-{-# LINE 1050 "src/System/Path/Internal.hs" #-}
- DocTest.property(
-{-# LINE 1050 "src/System/Path/Internal.hs" #-}
       Path.takeFileName (Path.addExtension Path.emptyFile "ext") == Posix.relFile ".ext"
   )
- DocTest.printPrefix "System.Path.Internal:1057: "
-{-# LINE 1057 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1056: "
+{-# LINE 1056 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1057 "src/System/Path/Internal.hs" #-}
+{-# LINE 1056 "src/System/Path/Internal.hs" #-}
       \p -> Path.combine Path.currentDir p == (p::Default.RelDir)
   )
- DocTest.printPrefix "System.Path.Internal:1064: "
-{-# LINE 1064 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1063: "
+{-# LINE 1063 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1064 "src/System/Path/Internal.hs" #-}
+{-# LINE 1063 "src/System/Path/Internal.hs" #-}
       forAllAbsRel $ \x -> Path.dropExtension x == fst (Path.splitExtension x)
   )
- DocTest.printPrefix "System.Path.Internal:1070: "
-{-# LINE 1070 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1069: "
+{-# LINE 1069 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1070 "src/System/Path/Internal.hs" #-}
+{-# LINE 1069 "src/System/Path/Internal.hs" #-}
       forAllAbsRel $ \x -> not $ Path.hasAnExtension (Path.dropExtensions x)
   )
+ DocTest.printPrefix "System.Path.Internal:1080: "
+{-# LINE 1080 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1080 "src/System/Path/Internal.hs" #-}
+      Path.replaceExtension (relFile "file.txt") ".bob" == Posix.relFile "file.bob"
+  )
  DocTest.printPrefix "System.Path.Internal:1081: "
 {-# LINE 1081 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1081 "src/System/Path/Internal.hs" #-}
-      Path.replaceExtension (relFile "file.txt") ".bob" == Posix.relFile "file.bob"
+      Path.replaceExtension (relFile "file.txt") "bob" == Posix.relFile "file.bob"
   )
  DocTest.printPrefix "System.Path.Internal:1082: "
 {-# LINE 1082 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1082 "src/System/Path/Internal.hs" #-}
-      Path.replaceExtension (relFile "file.txt") "bob" == Posix.relFile "file.bob"
+      Path.replaceExtension (relFile "file") ".bob" == Posix.relFile "file.bob"
   )
  DocTest.printPrefix "System.Path.Internal:1083: "
 {-# LINE 1083 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1083 "src/System/Path/Internal.hs" #-}
-      Path.replaceExtension (relFile "file") ".bob" == Posix.relFile "file.bob"
+      Path.replaceExtension (relFile "file.txt") "" == Posix.relFile "file"
   )
  DocTest.printPrefix "System.Path.Internal:1084: "
 {-# LINE 1084 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1084 "src/System/Path/Internal.hs" #-}
-      Path.replaceExtension (relFile "file.txt") "" == Posix.relFile "file"
+      Path.replaceExtension (relFile "file.fred.bob") "txt" == Posix.relFile "file.fred.txt"
   )
- DocTest.printPrefix "System.Path.Internal:1085: "
-{-# LINE 1085 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1101: "
+{-# LINE 1101 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1085 "src/System/Path/Internal.hs" #-}
-      Path.replaceExtension (relFile "file.fred.bob") "txt" == Posix.relFile "file.fred.txt"
+{-# LINE 1101 "src/System/Path/Internal.hs" #-}
+      forAllAbsRel $ \x -> uncurry (<.>) (Path.splitExtension x) == x
   )
  DocTest.printPrefix "System.Path.Internal:1102: "
 {-# LINE 1102 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1102 "src/System/Path/Internal.hs" #-}
-      forAllAbsRel $ \x -> uncurry (<.>) (Path.splitExtension x) == x
+      forAllAbsRel $ \x -> uncurry Path.addExtension (Path.splitExtension x) == x
   )
  DocTest.printPrefix "System.Path.Internal:1103: "
 {-# LINE 1103 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1103 "src/System/Path/Internal.hs" #-}
-      forAllAbsRel $ \x -> uncurry Path.addExtension (Path.splitExtension x) == x
+      Path.splitExtension (relFile "file.txt") == (Posix.relFile "file",".txt")
   )
  DocTest.printPrefix "System.Path.Internal:1104: "
 {-# LINE 1104 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1104 "src/System/Path/Internal.hs" #-}
-      Path.splitExtension (relFile "file.txt") == (Posix.relFile "file",".txt")
+      Path.splitExtension (relFile ".bashrc") == (Posix.emptyFile, ".bashrc")
   )
  DocTest.printPrefix "System.Path.Internal:1105: "
 {-# LINE 1105 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1105 "src/System/Path/Internal.hs" #-}
-      Path.splitExtension (relFile ".bashrc") == (Posix.emptyFile, ".bashrc")
+      Path.splitExtension (relFile "file") == (Posix.relFile "file","")
   )
  DocTest.printPrefix "System.Path.Internal:1106: "
 {-# LINE 1106 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1106 "src/System/Path/Internal.hs" #-}
-      Path.splitExtension (relFile "file") == (Posix.relFile "file","")
+      Path.splitExtension (relFile "file/file.txt") == (Posix.relFile "file/file",".txt")
   )
  DocTest.printPrefix "System.Path.Internal:1107: "
 {-# LINE 1107 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1107 "src/System/Path/Internal.hs" #-}
-      Path.splitExtension (relFile "file/file.txt") == (Posix.relFile "file/file",".txt")
+      Path.splitExtension (relFile "file.txt/boris") == (Posix.relFile "file.txt/boris","")
   )
  DocTest.printPrefix "System.Path.Internal:1108: "
 {-# LINE 1108 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1108 "src/System/Path/Internal.hs" #-}
-      Path.splitExtension (relFile "file.txt/boris") == (Posix.relFile "file.txt/boris","")
+      Path.splitExtension (relFile "file.txt/boris.ext") == (Posix.relFile "file.txt/boris",".ext")
   )
  DocTest.printPrefix "System.Path.Internal:1109: "
 {-# LINE 1109 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1109 "src/System/Path/Internal.hs" #-}
-      Path.splitExtension (relFile "file.txt/boris.ext") == (Posix.relFile "file.txt/boris",".ext")
+      Path.splitExtension (relFile "file/path.txt.bob.fred") == (Posix.relFile "file/path.txt.bob",".fred")
   )
- DocTest.printPrefix "System.Path.Internal:1110: "
-{-# LINE 1110 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1115: "
+{-# LINE 1115 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1110 "src/System/Path/Internal.hs" #-}
-      Path.splitExtension (relFile "file/path.txt.bob.fred") == (Posix.relFile "file/path.txt.bob",".fred")
+{-# LINE 1115 "src/System/Path/Internal.hs" #-}
+      Path.splitExtensions (relFile "file.tar.gz") == (Posix.relFile "file",".tar.gz")
   )
  DocTest.printPrefix "System.Path.Internal:1116: "
 {-# LINE 1116 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1116 "src/System/Path/Internal.hs" #-}
-      Path.splitExtensions (relFile "file.tar.gz") == (Posix.relFile "file",".tar.gz")
-  )
- DocTest.printPrefix "System.Path.Internal:1117: "
-{-# LINE 1117 "src/System/Path/Internal.hs" #-}
- DocTest.property(
-{-# LINE 1117 "src/System/Path/Internal.hs" #-}
       \p -> uncurry (<.>) (Path.splitExtension p) == (p::Default.AbsFile)
   )
- DocTest.printPrefix "System.Path.Internal:1121: "
-{-# LINE 1121 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1120: "
+{-# LINE 1120 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1121 "src/System/Path/Internal.hs" #-}
+{-# LINE 1120 "src/System/Path/Internal.hs" #-}
            \p -> uncurry Path.combine (Path.splitFileName p) == (p::Default.AbsFile)
   )
+ DocTest.printPrefix "System.Path.Internal:1136: "
+{-# LINE 1136 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1136 "src/System/Path/Internal.hs" #-}
+      Path.takeBaseName (absFile "/tmp/somedir/myfile.txt") == Posix.relFile "myfile"
+  )
  DocTest.printPrefix "System.Path.Internal:1137: "
 {-# LINE 1137 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1137 "src/System/Path/Internal.hs" #-}
-      Path.takeBaseName (absFile "/tmp/somedir/myfile.txt") == Posix.relFile "myfile"
+      Path.takeBaseName (relFile "./myfile.txt") == Posix.relFile "myfile"
   )
  DocTest.printPrefix "System.Path.Internal:1138: "
 {-# LINE 1138 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1138 "src/System/Path/Internal.hs" #-}
-      Path.takeBaseName (relFile "./myfile.txt") == Posix.relFile "myfile"
+      Path.takeBaseName (relFile "myfile.txt") == Posix.relFile "myfile"
   )
- DocTest.printPrefix "System.Path.Internal:1139: "
-{-# LINE 1139 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1157: "
+{-# LINE 1157 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1139 "src/System/Path/Internal.hs" #-}
-      Path.takeBaseName (relFile "myfile.txt") == Posix.relFile "myfile"
+{-# LINE 1157 "src/System/Path/Internal.hs" #-}
+      forAllAbsRel $ \x -> Path.takeExtension x == snd (Path.splitExtension x)
   )
  DocTest.printPrefix "System.Path.Internal:1158: "
 {-# LINE 1158 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1158 "src/System/Path/Internal.hs" #-}
-      forAllAbsRel $ \x -> Path.takeExtension x == snd (Path.splitExtension x)
+      forAllAbsRel $ \x -> Path.takeExtension (Path.addExtension x "ext") == ".ext"
   )
  DocTest.printPrefix "System.Path.Internal:1159: "
 {-# LINE 1159 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1159 "src/System/Path/Internal.hs" #-}
-      forAllAbsRel $ \x -> Path.takeExtension (Path.addExtension x "ext") == ".ext"
-  )
- DocTest.printPrefix "System.Path.Internal:1160: "
-{-# LINE 1160 "src/System/Path/Internal.hs" #-}
- DocTest.property(
-{-# LINE 1160 "src/System/Path/Internal.hs" #-}
       forAllAbsRel $ \x -> Path.takeExtension (Path.replaceExtension x "ext") == ".ext"
   )
- DocTest.printPrefix "System.Path.Internal:1166: "
-{-# LINE 1166 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1165: "
+{-# LINE 1165 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1166 "src/System/Path/Internal.hs" #-}
+{-# LINE 1165 "src/System/Path/Internal.hs" #-}
       Path.takeExtensions (Posix.relFile "file.tar.gz") == ".tar.gz"
   )
+ DocTest.printPrefix "System.Path.Internal:1171: "
+{-# LINE 1171 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1171 "src/System/Path/Internal.hs" #-}
+      Path.takeFileName (absFile "/tmp/somedir/myfile.txt") == Posix.relFile "myfile.txt"
+  )
  DocTest.printPrefix "System.Path.Internal:1172: "
 {-# LINE 1172 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1172 "src/System/Path/Internal.hs" #-}
-      Path.takeFileName (absFile "/tmp/somedir/myfile.txt") == Posix.relFile "myfile.txt"
+      Path.takeFileName (relFile "./myfile.txt") == Posix.relFile "myfile.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1173: "
 {-# LINE 1173 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1173 "src/System/Path/Internal.hs" #-}
-      Path.takeFileName (relFile "./myfile.txt") == Posix.relFile "myfile.txt"
+      Path.takeFileName (relFile "myfile.txt") == Posix.relFile "myfile.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1174: "
 {-# LINE 1174 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1174 "src/System/Path/Internal.hs" #-}
-      Path.takeFileName (relFile "myfile.txt") == Posix.relFile "myfile.txt"
+      \p -> Path.toString (Path.takeFileName p) `isSuffixOf` Path.toString (p::Default.AbsFile)
   )
- DocTest.printPrefix "System.Path.Internal:1175: "
-{-# LINE 1175 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1203: "
+{-# LINE 1203 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1175 "src/System/Path/Internal.hs" #-}
-      \p -> Path.toString (Path.takeFileName p) `isSuffixOf` Path.toString (p::Default.AbsFile)
+{-# LINE 1203 "src/System/Path/Internal.hs" #-}
+            Posix.equalFilePath "abc/def" "abc/def"
   )
  DocTest.printPrefix "System.Path.Internal:1204: "
 {-# LINE 1204 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1204 "src/System/Path/Internal.hs" #-}
-            Posix.equalFilePath "abc/def" "abc/def"
+            Posix.equalFilePath "abc/def" "abc//def"
   )
  DocTest.printPrefix "System.Path.Internal:1205: "
 {-# LINE 1205 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1205 "src/System/Path/Internal.hs" #-}
-            Posix.equalFilePath "abc/def" "abc//def"
+            Posix.equalFilePath "/tmp/" "/tmp"
   )
  DocTest.printPrefix "System.Path.Internal:1206: "
 {-# LINE 1206 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1206 "src/System/Path/Internal.hs" #-}
-            Posix.equalFilePath "/tmp/" "/tmp"
+            Posix.equalFilePath "/tmp" "//tmp"
   )
  DocTest.printPrefix "System.Path.Internal:1207: "
 {-# LINE 1207 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1207 "src/System/Path/Internal.hs" #-}
-            Posix.equalFilePath "/tmp" "//tmp"
+            Posix.equalFilePath "/tmp" "///tmp"
   )
  DocTest.printPrefix "System.Path.Internal:1208: "
 {-# LINE 1208 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1208 "src/System/Path/Internal.hs" #-}
-            Posix.equalFilePath "/tmp" "///tmp"
+      not $ Posix.equalFilePath "abc" "def"
   )
  DocTest.printPrefix "System.Path.Internal:1209: "
 {-# LINE 1209 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1209 "src/System/Path/Internal.hs" #-}
-      not $ Posix.equalFilePath "abc" "def"
+      not $ Posix.equalFilePath "/tmp" "tmp"
   )
  DocTest.printPrefix "System.Path.Internal:1210: "
 {-# LINE 1210 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1210 "src/System/Path/Internal.hs" #-}
-      not $ Posix.equalFilePath "/tmp" "tmp"
+            Windows.equalFilePath "abc\\def" "abc\\def"
   )
  DocTest.printPrefix "System.Path.Internal:1211: "
 {-# LINE 1211 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1211 "src/System/Path/Internal.hs" #-}
-            Windows.equalFilePath "abc\\def" "abc\\def"
+            Windows.equalFilePath "abc\\def" "abc\\\\def"
   )
  DocTest.printPrefix "System.Path.Internal:1212: "
 {-# LINE 1212 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1212 "src/System/Path/Internal.hs" #-}
-            Windows.equalFilePath "abc\\def" "abc\\\\def"
+            Windows.equalFilePath "file" "File"
   )
  DocTest.printPrefix "System.Path.Internal:1213: "
 {-# LINE 1213 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1213 "src/System/Path/Internal.hs" #-}
-            Windows.equalFilePath "file" "File"
+            Windows.equalFilePath "\\file" "\\\\file"
   )
  DocTest.printPrefix "System.Path.Internal:1214: "
 {-# LINE 1214 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1214 "src/System/Path/Internal.hs" #-}
-            Windows.equalFilePath "\\file" "\\\\file"
+            Windows.equalFilePath "\\file" "\\\\\\file"
   )
  DocTest.printPrefix "System.Path.Internal:1215: "
 {-# LINE 1215 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1215 "src/System/Path/Internal.hs" #-}
-            Windows.equalFilePath "\\file" "\\\\\\file"
+      not $ Windows.equalFilePath "abc" "def"
   )
  DocTest.printPrefix "System.Path.Internal:1216: "
 {-# LINE 1216 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1216 "src/System/Path/Internal.hs" #-}
-      not $ Windows.equalFilePath "abc" "def"
+      not $ Windows.equalFilePath "file" "dir"
   )
- DocTest.printPrefix "System.Path.Internal:1217: "
-{-# LINE 1217 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1229: "
+{-# LINE 1229 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1217 "src/System/Path/Internal.hs" #-}
-      not $ Windows.equalFilePath "file" "dir"
+{-# LINE 1229 "src/System/Path/Internal.hs" #-}
+      Path.joinPath ["tmp","someDir","dir"] == Posix.relDir "tmp/someDir/dir"
   )
  DocTest.printPrefix "System.Path.Internal:1230: "
 {-# LINE 1230 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1230 "src/System/Path/Internal.hs" #-}
-      Path.joinPath ["tmp","someDir","dir"] == Posix.relDir "tmp/someDir/dir"
-  )
- DocTest.printPrefix "System.Path.Internal:1231: "
-{-# LINE 1231 "src/System/Path/Internal.hs" #-}
- DocTest.property(
-{-# LINE 1231 "src/System/Path/Internal.hs" #-}
       Path.joinPath ["tmp","someDir","file.txt"] == Posix.relFile "tmp/someDir/file.txt"
   )
- DocTest.printPrefix "System.Path.Internal:1237: "
-{-# LINE 1237 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1236: "
+{-# LINE 1236 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1237 "src/System/Path/Internal.hs" #-}
+{-# LINE 1236 "src/System/Path/Internal.hs" #-}
       Path.normalise (absFile "/tmp/fred/./jim/./file") == Posix.absFile "/tmp/fred/jim/file"
   )
+ DocTest.printPrefix "System.Path.Internal:1242: "
+{-# LINE 1242 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1242 "src/System/Path/Internal.hs" #-}
+      Path.splitPath (Posix.absDir "/tmp/someDir/mydir.dir") == (True, map relDir ["tmp","someDir","mydir.dir"], Nothing)
+  )
  DocTest.printPrefix "System.Path.Internal:1243: "
 {-# LINE 1243 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1243 "src/System/Path/Internal.hs" #-}
-      Path.splitPath (Posix.absDir "/tmp/someDir/mydir.dir") == (True, map relDir ["tmp","someDir","mydir.dir"], Nothing)
+      Path.splitPath (Posix.absFile "/tmp/someDir/myfile.txt") == (True, map relDir ["tmp","someDir"], Just $ relFile "myfile.txt")
   )
- DocTest.printPrefix "System.Path.Internal:1244: "
-{-# LINE 1244 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1259: "
+{-# LINE 1259 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1244 "src/System/Path/Internal.hs" #-}
-      Path.splitPath (Posix.absFile "/tmp/someDir/myfile.txt") == (True, map relDir ["tmp","someDir"], Just $ relFile "myfile.txt")
+{-# LINE 1259 "src/System/Path/Internal.hs" #-}
+      Path.makeRelative (absDir "/tmp/somedir") (absFile "/tmp/somedir/anotherdir/file.txt") == Posix.relFile "anotherdir/file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1260: "
 {-# LINE 1260 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1260 "src/System/Path/Internal.hs" #-}
-      Path.makeRelative (absDir "/tmp/somedir") (absFile "/tmp/somedir/anotherdir/file.txt") == Posix.relFile "anotherdir/file.txt"
+      Path.makeRelative (absDir "/tmp/somedir") (absDir "/tmp/somedir/anotherdir/dir") == Posix.relDir "anotherdir/dir"
   )
  DocTest.printPrefix "System.Path.Internal:1261: "
 {-# LINE 1261 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1261 "src/System/Path/Internal.hs" #-}
-      Path.makeRelative (absDir "/tmp/somedir") (absDir "/tmp/somedir/anotherdir/dir") == Posix.relDir "anotherdir/dir"
+      Path.makeRelative (absDir "c:\\tmp\\somedir") (absFile "C:\\Tmp\\SomeDir\\AnotherDir\\File.txt") == Windows.relFile "AnotherDir\\File.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1262: "
 {-# LINE 1262 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1262 "src/System/Path/Internal.hs" #-}
-      Path.makeRelative (absDir "c:\\tmp\\somedir") (absFile "C:\\Tmp\\SomeDir\\AnotherDir\\File.txt") == Windows.relFile "AnotherDir\\File.txt"
+      Path.makeRelative (absDir "c:\\tmp\\somedir") (absDir "c:\\tmp\\somedir\\anotherdir\\dir") == Windows.relDir "anotherdir\\dir"
   )
  DocTest.printPrefix "System.Path.Internal:1263: "
 {-# LINE 1263 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1263 "src/System/Path/Internal.hs" #-}
-      Path.makeRelative (absDir "c:\\tmp\\somedir") (absDir "c:\\tmp\\somedir\\anotherdir\\dir") == Windows.relDir "anotherdir\\dir"
+      Path.makeRelative (absDir "c:tmp\\somedir") (absDir "c:tmp\\somedir\\anotherdir\\dir") == Windows.relDir "anotherdir\\dir"
   )
- DocTest.printPrefix "System.Path.Internal:1264: "
-{-# LINE 1264 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1290: "
+{-# LINE 1290 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1264 "src/System/Path/Internal.hs" #-}
-      Path.makeRelative (absDir "c:tmp\\somedir") (absDir "c:tmp\\somedir\\anotherdir\\dir") == Windows.relDir "anotherdir\\dir"
+{-# LINE 1290 "src/System/Path/Internal.hs" #-}
+      Path.makeAbsolute (absDir "/tmp") (relFile "file.txt")      == Posix.absFile "/tmp/file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1291: "
 {-# LINE 1291 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1291 "src/System/Path/Internal.hs" #-}
-      Path.makeAbsolute (absDir "/tmp") (relFile "file.txt")      == Posix.absFile "/tmp/file.txt"
+      Path.makeAbsolute (absDir "/tmp") (relFile "adir/file.txt") == Posix.absFile "/tmp/adir/file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1292: "
 {-# LINE 1292 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1292 "src/System/Path/Internal.hs" #-}
-      Path.makeAbsolute (absDir "/tmp") (relFile "adir/file.txt") == Posix.absFile "/tmp/adir/file.txt"
+      Path.makeAbsolute (absDir "/tmp") (relDir  "adir/dir")      == Posix.absDir "/tmp/adir/dir"
   )
  DocTest.printPrefix "System.Path.Internal:1293: "
 {-# LINE 1293 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1293 "src/System/Path/Internal.hs" #-}
-      Path.makeAbsolute (absDir "/tmp") (relDir  "adir/dir")      == Posix.absDir "/tmp/adir/dir"
+      \base p -> Default.toString p `isSuffixOf` Path.toString (Path.makeAbsolute base (Path.idFile p))
   )
  DocTest.printPrefix "System.Path.Internal:1294: "
 {-# LINE 1294 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1294 "src/System/Path/Internal.hs" #-}
-      \base p -> Default.toString p `isSuffixOf` Path.toString (Path.makeAbsolute base (Path.idFile p))
+      \base p -> Default.toString base `isPrefixOf` Path.toString (Path.makeAbsolute base (Path.idFile p))
   )
- DocTest.printPrefix "System.Path.Internal:1295: "
-{-# LINE 1295 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1316: "
+{-# LINE 1316 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1295 "src/System/Path/Internal.hs" #-}
-      \base p -> Default.toString base `isPrefixOf` Path.toString (Path.makeAbsolute base (Path.idFile p))
+{-# LINE 1316 "src/System/Path/Internal.hs" #-}
+      Path.genericMakeAbsolute (absDir "/tmp") (relFile "file.txt")       == Posix.absFile "/tmp/file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1317: "
 {-# LINE 1317 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1317 "src/System/Path/Internal.hs" #-}
-      Path.genericMakeAbsolute (absDir "/tmp") (relFile "file.txt")       == Posix.absFile "/tmp/file.txt"
+      Path.genericMakeAbsolute (absDir "/tmp") (relFile "adir/file.txt")  == Posix.absFile "/tmp/adir/file.txt"
   )
  DocTest.printPrefix "System.Path.Internal:1318: "
 {-# LINE 1318 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1318 "src/System/Path/Internal.hs" #-}
-      Path.genericMakeAbsolute (absDir "/tmp") (relFile "adir/file.txt")  == Posix.absFile "/tmp/adir/file.txt"
+      Path.genericMakeAbsolute (absDir "/tmp") (absFile "/adir/file.txt") == Posix.absFile "/adir/file.txt"
   )
- DocTest.printPrefix "System.Path.Internal:1319: "
-{-# LINE 1319 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1403: "
+{-# LINE 1403 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1319 "src/System/Path/Internal.hs" #-}
-      Path.genericMakeAbsolute (absDir "/tmp") (absFile "/adir/file.txt") == Posix.absFile "/adir/file.txt"
+{-# LINE 1403 "src/System/Path/Internal.hs" #-}
+      Path.isAbsolute (Posix.absFile "/fred")
   )
  DocTest.printPrefix "System.Path.Internal:1404: "
 {-# LINE 1404 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1404 "src/System/Path/Internal.hs" #-}
-      Path.isAbsolute (Posix.absFile "/fred")
+      Path.isAbsolute (Windows.absFile "\\fred")
   )
  DocTest.printPrefix "System.Path.Internal:1405: "
 {-# LINE 1405 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1405 "src/System/Path/Internal.hs" #-}
-      Path.isAbsolute (Windows.absFile "\\fred")
+      Path.isAbsolute (Windows.absFile "c:\\fred")
   )
  DocTest.printPrefix "System.Path.Internal:1406: "
 {-# LINE 1406 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1406 "src/System/Path/Internal.hs" #-}
-      Path.isAbsolute (Windows.absFile "c:\\fred")
+      Path.isAbsolute (Windows.absFile "c:fred")
   )
- DocTest.printPrefix "System.Path.Internal:1407: "
-{-# LINE 1407 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1413: "
+{-# LINE 1413 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1407 "src/System/Path/Internal.hs" #-}
-      Path.isAbsolute (Windows.absFile "c:fred")
+{-# LINE 1413 "src/System/Path/Internal.hs" #-}
+      Path.isRelative (Posix.relFile "fred")
   )
  DocTest.printPrefix "System.Path.Internal:1414: "
 {-# LINE 1414 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1414 "src/System/Path/Internal.hs" #-}
-      Path.isRelative (Posix.relFile "fred")
-  )
- DocTest.printPrefix "System.Path.Internal:1415: "
-{-# LINE 1415 "src/System/Path/Internal.hs" #-}
- DocTest.property(
-{-# LINE 1415 "src/System/Path/Internal.hs" #-}
       Path.isRelative (Windows.relFile "fred")
   )
- DocTest.printPrefix "System.Path.Internal:1440: "
-{-# LINE 1440 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1439: "
+{-# LINE 1439 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1440 "src/System/Path/Internal.hs" #-}
+{-# LINE 1439 "src/System/Path/Internal.hs" #-}
       forAllAbsRel $ \x -> null (Path.takeExtension x) == not (Path.hasAnExtension x)
   )
+ DocTest.printPrefix "System.Path.Internal:1445: "
+{-# LINE 1445 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1445 "src/System/Path/Internal.hs" #-}
+      Path.hasExtension ".hs" (Posix.relFile "MyCode.hs")
+  )
  DocTest.printPrefix "System.Path.Internal:1446: "
 {-# LINE 1446 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1446 "src/System/Path/Internal.hs" #-}
-      Path.hasExtension ".hs" (Posix.relFile "MyCode.hs")
+      Path.hasExtension ".hs" (Posix.relFile "MyCode.bak.hs")
   )
  DocTest.printPrefix "System.Path.Internal:1447: "
 {-# LINE 1447 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1447 "src/System/Path/Internal.hs" #-}
-      Path.hasExtension ".hs" (Posix.relFile "MyCode.bak.hs")
-  )
- DocTest.printPrefix "System.Path.Internal:1448: "
-{-# LINE 1448 "src/System/Path/Internal.hs" #-}
- DocTest.property(
-{-# LINE 1448 "src/System/Path/Internal.hs" #-}
       not $ Path.hasExtension ".hs" (Posix.relFile "MyCode.hs.bak")
   )
- DocTest.printPrefix "System.Path.Internal:1458: "
-{-# LINE 1458 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1457: "
+{-# LINE 1457 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1458 "src/System/Path/Internal.hs" #-}
+{-# LINE 1457 "src/System/Path/Internal.hs" #-}
       Posix.extSeparator == '.'
   )
- DocTest.printPrefix "System.Path.Internal:1469: "
-{-# LINE 1469 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1468: "
+{-# LINE 1468 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1469 "src/System/Path/Internal.hs" #-}
+{-# LINE 1468 "src/System/Path/Internal.hs" #-}
       \a -> Posix.isExtSeparator a == (a == Posix.extSeparator)
   )
- DocTest.printPrefix "System.Path.Internal:1475: "
-{-# LINE 1475 "src/System/Path/Internal.hs" #-}
+ DocTest.printPrefix "System.Path.Internal:1474: "
+{-# LINE 1474 "src/System/Path/Internal.hs" #-}
  DocTest.property(
-{-# LINE 1475 "src/System/Path/Internal.hs" #-}
+{-# LINE 1474 "src/System/Path/Internal.hs" #-}
       \a -> Posix.isSearchPathSeparator a == (a == Posix.searchPathSeparator)
   )
+ DocTest.printPrefix "System.Path.Internal:1490: "
+{-# LINE 1490 "src/System/Path/Internal.hs" #-}
+ DocTest.property(
+{-# LINE 1490 "src/System/Path/Internal.hs" #-}
+      Path.genericAddExtension (absDir "/") "x" == Posix.absDir "/.x"
+  )
  DocTest.printPrefix "System.Path.Internal:1491: "
 {-# LINE 1491 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1491 "src/System/Path/Internal.hs" #-}
-      Path.genericAddExtension (absDir "/") "x" == Posix.absDir "/.x"
+      Path.genericAddExtension (absDir "/a") "x" == Posix.absDir "/a.x"
   )
  DocTest.printPrefix "System.Path.Internal:1492: "
 {-# LINE 1492 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1492 "src/System/Path/Internal.hs" #-}
-      Path.genericAddExtension (absDir "/a") "x" == Posix.absDir "/a.x"
+      Path.genericAddExtension Path.emptyFile "x" == Posix.relFile ".x"
   )
  DocTest.printPrefix "System.Path.Internal:1493: "
 {-# LINE 1493 "src/System/Path/Internal.hs" #-}
  DocTest.property(
 {-# LINE 1493 "src/System/Path/Internal.hs" #-}
-      Path.genericAddExtension Path.emptyFile "x" == Posix.relFile ".x"
-  )
- DocTest.printPrefix "System.Path.Internal:1494: "
-{-# LINE 1494 "src/System/Path/Internal.hs" #-}
- DocTest.property(
-{-# LINE 1494 "src/System/Path/Internal.hs" #-}
       Path.genericAddExtension Path.emptyFile "" == Posix.emptyFile
   )
