diff --git a/src/Data/Ix/Enum.hs b/src/Data/Ix/Enum.hs
--- a/src/Data/Ix/Enum.hs
+++ b/src/Data/Ix/Enum.hs
@@ -17,6 +17,9 @@
 -}
 module Data.Ix.Enum where
 
+import qualified Data.Ix as Ix
+import qualified GHC.Arr as Arr
+
 {-# INLINE range #-}
 {-# INLINE index #-}
 {-# INLINE unsafeIndex #-}
@@ -24,16 +27,49 @@
 {-# INLINE rangeSize #-}
 {-# INLINE unsafeRangeSize #-}
 
+{- |
+>>> range ('x','z')
+"xyz"
+>>> range (LT,GT)
+[LT,EQ,GT]
+-}
 range :: Enum a => (a, a) -> [a]
+
+{- |
+>>> index ('a','z') 'e'
+4
+-}
 index :: Enum a => (a, a) -> a -> Int
+
+{- |
+>>> unsafeIndex ('a','z') 'e'
+4
+-}
 unsafeIndex :: Enum a => (a, a) -> a -> Int
+
+{- |
+>>> inRange ('a','z') 'e'
+True
+>>> inRange ('x','z') 'a'
+False
+-}
 inRange :: Enum a => (a, a) -> a -> Bool
+
+{- |
+>>> rangeSize ('x','z')
+3
+-}
 rangeSize :: Enum a => (a, a) -> Int
+
+{- |
+>>> unsafeRangeSize ('x','z')
+3
+-}
 unsafeRangeSize :: Enum a => (a, a) -> Int
 
-range (l,r) = map toEnum $ range (fromEnum l, fromEnum r)
-index (l,r) i = index (fromEnum l, fromEnum r) (fromEnum i)
-unsafeIndex (l,r) i = unsafeIndex (fromEnum l, fromEnum r) (fromEnum i)
-inRange (l,r) i = inRange (fromEnum l, fromEnum r) (fromEnum i)
-rangeSize (l,r) = rangeSize (fromEnum l, fromEnum r)
-unsafeRangeSize (l,r) = unsafeRangeSize (fromEnum l, fromEnum r)
+range (l,r) = map toEnum $ Ix.range (fromEnum l, fromEnum r)
+index (l,r) i = Ix.index (fromEnum l, fromEnum r) (fromEnum i)
+unsafeIndex (l,r) i = Arr.unsafeIndex (fromEnum l, fromEnum r) (fromEnum i)
+inRange (l,r) i = Ix.inRange (fromEnum l, fromEnum r) (fromEnum i)
+rangeSize (l,r) = Ix.rangeSize (fromEnum l, fromEnum r)
+unsafeRangeSize (l,r) = Arr.unsafeRangeSize (fromEnum l, fromEnum r)
diff --git a/src/Data/List/HT/Private.hs b/src/Data/List/HT/Private.hs
--- a/src/Data/List/HT/Private.hs
+++ b/src/Data/List/HT/Private.hs
@@ -26,7 +26,7 @@
 -- >>> import Data.List (transpose)
 -- >>> import Data.Maybe.HT (toMaybe)
 -- >>> import Data.Maybe (mapMaybe, isNothing)
--- >>> import Data.Char (isLetter, toUpper)
+-- >>> import Data.Char (isLetter, isUpper, toUpper)
 -- >>> import Data.Eq.HT (equating)
 -- >>> import Control.Monad (liftM2)
 -- >>>
@@ -305,6 +305,11 @@
 There is always a list for the part before the first leading character.
 It may be empty.
 See package @non-empty@ for more precise result type.
+
+>>> segmentBefore isUpper "AbcdXyz"
+["","Abcd","Xyz"]
+>>> segmentBefore isUpper "kAbcdXYZ"
+["k","Abcd","X","Y","Z"]
 
 prop> forAllPredicates $ \p xs -> concat (segmentBefore p xs) == xs
 prop> forAllPredicates $ \p xs -> length (filter p xs) == length (tail (segmentBefore p xs))
diff --git a/src/DocTest/Data/Bool/HT/Private.hs b/src/DocTest/Data/Bool/HT/Private.hs
--- a/src/DocTest/Data/Bool/HT/Private.hs
+++ b/src/DocTest/Data/Bool/HT/Private.hs
@@ -10,18 +10,21 @@
 test = do
  DocTest.printPrefix "Data.Bool.HT.Private:55: "
 {-# LINE 55 "src/Data/Bool/HT/Private.hs" #-}
- DocTest.example
+ DocTest.example(
 {-# LINE 55 "src/Data/Bool/HT/Private.hs" #-}
-   (True ?: ("yes", "no"))
+    True ?: ("yes", "no")
+  )
   [ExpectedLine [LineChunk "\"yes\""]]
  DocTest.printPrefix "Data.Bool.HT.Private:57: "
 {-# LINE 57 "src/Data/Bool/HT/Private.hs" #-}
- DocTest.example
+ DocTest.example(
 {-# LINE 57 "src/Data/Bool/HT/Private.hs" #-}
-   (False ?: ("yes", "no"))
+    False ?: ("yes", "no")
+  )
   [ExpectedLine [LineChunk "\"no\""]]
  DocTest.printPrefix "Data.Bool.HT.Private:73: "
 {-# LINE 73 "src/Data/Bool/HT/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 73 "src/Data/Bool/HT/Private.hs" #-}
-     (\a b -> implies a b == (a<=b))
+      \a b -> implies a b == (a<=b)
+  )
diff --git a/src/DocTest/Data/Function/HT/Private.hs b/src/DocTest/Data/Function/HT/Private.hs
--- a/src/DocTest/Data/Function/HT/Private.hs
+++ b/src/DocTest/Data/Function/HT/Private.hs
@@ -13,21 +13,25 @@
 test = do
  DocTest.printPrefix "Data.Function.HT.Private:22: "
 {-# LINE 22 "src/Data/Function/HT/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 22 "src/Data/Function/HT/Private.hs" #-}
-     (\(NonNegative n) x -> nest n succ x == nest1 n succ (x::Integer))
+      \(NonNegative n) x -> nest n succ x == nest1 n succ (x::Integer)
+  )
  DocTest.printPrefix "Data.Function.HT.Private:23: "
 {-# LINE 23 "src/Data/Function/HT/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 23 "src/Data/Function/HT/Private.hs" #-}
-     (\(NonNegative n) x -> nest n succ x == nest2 n succ (x::Integer))
+      \(NonNegative n) x -> nest n succ x == nest2 n succ (x::Integer)
+  )
  DocTest.printPrefix "Data.Function.HT.Private:48: "
 {-# LINE 48 "src/Data/Function/HT/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 48 "src/Data/Function/HT/Private.hs" #-}
-     (\a0 a (NonNegative n) -> powerAssociative (+) a0 a n == (powerAssociativeList (+) a0 a n :: Integer))
+      \a0 a (NonNegative n) -> powerAssociative (+) a0 a n == (powerAssociativeList (+) a0 a n :: Integer)
+  )
  DocTest.printPrefix "Data.Function.HT.Private:49: "
 {-# LINE 49 "src/Data/Function/HT/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 49 "src/Data/Function/HT/Private.hs" #-}
-     (\a0 a (NonNegative n) -> powerAssociative (+) a0 a n == (powerAssociativeNaive (+) a0 a n :: Integer))
+      \a0 a (NonNegative n) -> powerAssociative (+) a0 a n == (powerAssociativeNaive (+) a0 a n :: Integer)
+  )
diff --git a/src/DocTest/Data/Ix/Enum.hs b/src/DocTest/Data/Ix/Enum.hs
new file mode 100644
--- /dev/null
+++ b/src/DocTest/Data/Ix/Enum.hs
@@ -0,0 +1,66 @@
+-- Do not edit! Automatically created with doctest-extract from src/Data/Ix/Enum.hs
+module DocTest.Data.Ix.Enum where
+
+import Data.Ix.Enum
+import Test.DocTest.Base
+import qualified Test.DocTest.Driver as DocTest
+
+
+test :: DocTest.T ()
+test = do
+ DocTest.printPrefix "Data.Ix.Enum:31: "
+{-# LINE 31 "src/Data/Ix/Enum.hs" #-}
+ DocTest.example(
+{-# LINE 31 "src/Data/Ix/Enum.hs" #-}
+    range ('x','z')
+  )
+  [ExpectedLine [LineChunk "\"xyz\""]]
+ DocTest.printPrefix "Data.Ix.Enum:33: "
+{-# LINE 33 "src/Data/Ix/Enum.hs" #-}
+ DocTest.example(
+{-# LINE 33 "src/Data/Ix/Enum.hs" #-}
+    range (LT,GT)
+  )
+  [ExpectedLine [LineChunk "[LT,EQ,GT]"]]
+ DocTest.printPrefix "Data.Ix.Enum:39: "
+{-# LINE 39 "src/Data/Ix/Enum.hs" #-}
+ DocTest.example(
+{-# LINE 39 "src/Data/Ix/Enum.hs" #-}
+    index ('a','z') 'e'
+  )
+  [ExpectedLine [LineChunk "4"]]
+ DocTest.printPrefix "Data.Ix.Enum:45: "
+{-# LINE 45 "src/Data/Ix/Enum.hs" #-}
+ DocTest.example(
+{-# LINE 45 "src/Data/Ix/Enum.hs" #-}
+    unsafeIndex ('a','z') 'e'
+  )
+  [ExpectedLine [LineChunk "4"]]
+ DocTest.printPrefix "Data.Ix.Enum:51: "
+{-# LINE 51 "src/Data/Ix/Enum.hs" #-}
+ DocTest.example(
+{-# LINE 51 "src/Data/Ix/Enum.hs" #-}
+    inRange ('a','z') 'e'
+  )
+  [ExpectedLine [LineChunk "True"]]
+ DocTest.printPrefix "Data.Ix.Enum:53: "
+{-# LINE 53 "src/Data/Ix/Enum.hs" #-}
+ DocTest.example(
+{-# LINE 53 "src/Data/Ix/Enum.hs" #-}
+    inRange ('x','z') 'a'
+  )
+  [ExpectedLine [LineChunk "False"]]
+ DocTest.printPrefix "Data.Ix.Enum:59: "
+{-# LINE 59 "src/Data/Ix/Enum.hs" #-}
+ DocTest.example(
+{-# LINE 59 "src/Data/Ix/Enum.hs" #-}
+    rangeSize ('x','z')
+  )
+  [ExpectedLine [LineChunk "3"]]
+ DocTest.printPrefix "Data.Ix.Enum:65: "
+{-# LINE 65 "src/Data/Ix/Enum.hs" #-}
+ DocTest.example(
+{-# LINE 65 "src/Data/Ix/Enum.hs" #-}
+    unsafeRangeSize ('x','z')
+  )
+  [ExpectedLine [LineChunk "3"]]
diff --git a/src/DocTest/Data/List/HT/Private.hs b/src/DocTest/Data/List/HT/Private.hs
--- a/src/DocTest/Data/List/HT/Private.hs
+++ b/src/DocTest/Data/List/HT/Private.hs
@@ -15,672 +15,805 @@
 import     Data.List (transpose)
 import     Data.Maybe.HT (toMaybe)
 import     Data.Maybe (mapMaybe, isNothing)
-import     Data.Char (isLetter, toUpper)
-import     Data.Eq.HT (equating)
-import     Control.Monad (liftM2)
-
-divMaybe     :: Int -> Int -> Maybe Int
-divMaybe     m n = case divMod n m of (q,0) -> Just q; _ -> Nothing
-
-forAllMaybeFn     :: (QC.Testable test) => ((Int -> Maybe Int) -> test) -> QC.Property
-forAllMaybeFn     prop = QC.forAll (QC.choose (1,4)) $ prop . divMaybe
-
-test :: DocTest.T ()
-test = do
- DocTest.printPrefix "Data.List.HT.Private:101: "
-{-# LINE 101 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 101 "src/Data/List/HT/Private.hs" #-}
-   (groupBy (<) "abcdebcdef")
-  [ExpectedLine [LineChunk "[\"abcde\",\"bcdef\"]"]]
- DocTest.printPrefix "Data.List.HT.Private:108: "
-{-# LINE 108 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 108 "src/Data/List/HT/Private.hs" #-}
-   (List.groupBy (<) "abcdebcdef")
-  [ExpectedLine [LineChunk "[\"abcdebcdef\"]"]]
- DocTest.printPrefix "Data.List.HT.Private:179: "
-{-# LINE 179 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 179 "src/Data/List/HT/Private.hs" #-}
-   (words "a  a")
-  [ExpectedLine [LineChunk "[\"a\",\"a\"]"]]
- DocTest.printPrefix "Data.List.HT.Private:181: "
-{-# LINE 181 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 181 "src/Data/List/HT/Private.hs" #-}
-   (chop (' '==) "a  a")
-  [ExpectedLine [LineChunk "[\"a\",\"\",\"a\"]"]]
- DocTest.printPrefix "Data.List.HT.Private:184: "
-{-# LINE 184 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 184 "src/Data/List/HT/Private.hs" #-}
-   (lines "a\n\na")
-  [ExpectedLine [LineChunk "[\"a\",\"\",\"a\"]"]]
- DocTest.printPrefix "Data.List.HT.Private:186: "
-{-# LINE 186 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 186 "src/Data/List/HT/Private.hs" #-}
-   (chop ('\n'==) "a\n\na")
-  [ExpectedLine [LineChunk "[\"a\",\"\",\"a\"]"]]
- DocTest.printPrefix "Data.List.HT.Private:189: "
-{-# LINE 189 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 189 "src/Data/List/HT/Private.hs" #-}
-   (lines "a\n")
-  [ExpectedLine [LineChunk "[\"a\"]"]]
- DocTest.printPrefix "Data.List.HT.Private:191: "
-{-# LINE 191 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 191 "src/Data/List/HT/Private.hs" #-}
-   (chop ('\n'==) "a\n")
-  [ExpectedLine [LineChunk "[\"a\",\"\"]"]]
- DocTest.printPrefix "Data.List.HT.Private:220: "
-{-# LINE 220 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 220 "src/Data/List/HT/Private.hs" #-}
-     (forAllPredicates $ \p xs -> uncurry (++) (breakAfter p xs) == xs)
- DocTest.printPrefix "Data.List.HT.Private:239: "
-{-# LINE 239 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 239 "src/Data/List/HT/Private.hs" #-}
-          (forAllPredicates $ \p xs -> breakAfterRec p xs == breakAfterFoldr p xs)
- DocTest.printPrefix "Data.List.HT.Private:247: "
-{-# LINE 247 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 247 "src/Data/List/HT/Private.hs" #-}
-          (forAllPredicates $ \p xs -> breakAfterRec p xs == breakAfterBreak p xs)
- DocTest.printPrefix "Data.List.HT.Private:254: "
-{-# LINE 254 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 254 "src/Data/List/HT/Private.hs" #-}
-          (forAllPredicates $ \p xs -> breakAfterRec p xs == breakAfterTakeUntil p xs)
- DocTest.printPrefix "Data.List.HT.Private:267: "
-{-# LINE 267 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 267 "src/Data/List/HT/Private.hs" #-}
-     (forAllPredicates $ \p xs -> takeUntil p xs == fst (breakAfter p xs))
- DocTest.printPrefix "Data.List.HT.Private:280: "
-{-# LINE 280 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 280 "src/Data/List/HT/Private.hs" #-}
-     (forAllPredicates $ \p xs -> concat (segmentAfter p xs) == xs)
- DocTest.printPrefix "Data.List.HT.Private:281: "
-{-# LINE 281 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 281 "src/Data/List/HT/Private.hs" #-}
-     (forAllPredicates $ \p xs -> length (filter p xs) == length (tail (segmentAfter p xs)))
- DocTest.printPrefix "Data.List.HT.Private:282: "
-{-# LINE 282 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 282 "src/Data/List/HT/Private.hs" #-}
-     (forAllPredicates $ \p -> all (p . last) . init . segmentAfter p)
- DocTest.printPrefix "Data.List.HT.Private:283: "
-{-# LINE 283 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 283 "src/Data/List/HT/Private.hs" #-}
-     (forAllPredicates $ \p -> all (all (not . p) . init) . init . segmentAfter p)
- DocTest.printPrefix "Data.List.HT.Private:287: "
-{-# LINE 287 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 287 "src/Data/List/HT/Private.hs" #-}
-     (forAllPredicates $ \p x -> flip seq True . (!!100) . concat . segmentAfter p . cycle . (x:))
- DocTest.printPrefix "Data.List.HT.Private:309: "
-{-# LINE 309 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 309 "src/Data/List/HT/Private.hs" #-}
-     (forAllPredicates $ \p xs -> concat (segmentBefore p xs) == xs)
- DocTest.printPrefix "Data.List.HT.Private:310: "
-{-# LINE 310 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 310 "src/Data/List/HT/Private.hs" #-}
-     (forAllPredicates $ \p xs -> length (filter p xs) == length (tail (segmentBefore p xs)))
- DocTest.printPrefix "Data.List.HT.Private:311: "
-{-# LINE 311 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 311 "src/Data/List/HT/Private.hs" #-}
-     (forAllPredicates $ \p -> all (p . head) . tail . segmentBefore p)
- DocTest.printPrefix "Data.List.HT.Private:312: "
-{-# LINE 312 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 312 "src/Data/List/HT/Private.hs" #-}
-     (forAllPredicates $ \p -> all (all (not . p) . tail) . tail . segmentBefore p)
- DocTest.printPrefix "Data.List.HT.Private:313: "
-{-# LINE 313 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 313 "src/Data/List/HT/Private.hs" #-}
-     (forAllPredicates $ \p x -> flip seq True . (!!100) . concat . segmentBefore p . cycle . (x:))
- DocTest.printPrefix "Data.List.HT.Private:325: "
-{-# LINE 325 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 325 "src/Data/List/HT/Private.hs" #-}
-          (forAllPredicates $ \p xs -> segmentBefore p xs == segmentBefore' p xs)
- DocTest.printPrefix "Data.List.HT.Private:336: "
-{-# LINE 336 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 336 "src/Data/List/HT/Private.hs" #-}
-          (forAllPredicates $ \p xs -> segmentBefore p xs == segmentBefore'' p xs)
- DocTest.printPrefix "Data.List.HT.Private:348: "
-{-# LINE 348 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 348 "src/Data/List/HT/Private.hs" #-}
-   (segmentBeforeJust (\c -> toMaybe (isLetter c) (toUpper c)) "123a5345b---")
-  [ExpectedLine [LineChunk "(\"123\",[('A',\"5345\"),('B',\"---\")])"]]
- DocTest.printPrefix "Data.List.HT.Private:364: "
-{-# LINE 364 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 364 "src/Data/List/HT/Private.hs" #-}
-   (segmentAfterJust (\c -> toMaybe (isLetter c) (toUpper c)) "123a5345b---")
-  [ExpectedLine [LineChunk "([(\"123\",'A'),(\"5345\",'B')],\"---\")"]]
- DocTest.printPrefix "Data.List.HT.Private:380: "
-{-# LINE 380 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 380 "src/Data/List/HT/Private.hs" #-}
-     (forAllMaybeFn $ \f xs -> segmentBeforeJust f xs == segmentBeforeRight (map (\x -> maybe (Left x) Right (f x)) xs))
- DocTest.printPrefix "Data.List.HT.Private:377: "
-{-# LINE 377 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 377 "src/Data/List/HT/Private.hs" #-}
-   (segmentBeforeRight [Left 'a', Right LT, Right GT, Left 'b'])
-  [ExpectedLine [LineChunk "(\"a\",[(LT,\"\"),(GT,\"b\")])"]]
- DocTest.printPrefix "Data.List.HT.Private:397: "
-{-# LINE 397 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 397 "src/Data/List/HT/Private.hs" #-}
-     (forAllMaybeFn $ \f xs -> segmentAfterJust f xs == segmentAfterRight (map (\x -> maybe (Left x) Right (f x)) xs))
- DocTest.printPrefix "Data.List.HT.Private:394: "
-{-# LINE 394 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 394 "src/Data/List/HT/Private.hs" #-}
-   (segmentAfterRight [Left 'a', Right LT, Right GT, Left 'b'])
-  [ExpectedLine [LineChunk "([(\"a\",LT),(\"\",GT)],\"b\")"]]
- DocTest.printPrefix "Data.List.HT.Private:420: "
-{-# LINE 420 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 420 "src/Data/List/HT/Private.hs" #-}
-   (removeEach "abc")
-  [ExpectedLine [LineChunk "[('a',\"bc\"),('b',\"ac\"),('c',\"ab\")]"]]
- DocTest.printPrefix "Data.List.HT.Private:422: "
-{-# LINE 422 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 422 "src/Data/List/HT/Private.hs" #-}
-   (removeEach "a")
-  [ExpectedLine [LineChunk "[('a',\"\")]"]]
- DocTest.printPrefix "Data.List.HT.Private:424: "
-{-# LINE 424 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 424 "src/Data/List/HT/Private.hs" #-}
-   (removeEach "")
-  [ExpectedLine [LineChunk "[]"]]
- DocTest.printPrefix "Data.List.HT.Private:432: "
-{-# LINE 432 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 432 "src/Data/List/HT/Private.hs" #-}
-   (splitEverywhere "abc")
-  [ExpectedLine [LineChunk "[(\"\",'a',\"bc\"),(\"a\",'b',\"c\"),(\"ab\",'c',\"\")]"]]
- DocTest.printPrefix "Data.List.HT.Private:434: "
-{-# LINE 434 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 434 "src/Data/List/HT/Private.hs" #-}
-   (splitEverywhere "a")
-  [ExpectedLine [LineChunk "[(\"\",'a',\"\")]"]]
- DocTest.printPrefix "Data.List.HT.Private:436: "
-{-# LINE 436 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 436 "src/Data/List/HT/Private.hs" #-}
-   (splitEverywhere "")
-  [ExpectedLine [LineChunk "[]"]]
- DocTest.printPrefix "Data.List.HT.Private:459: "
-{-# LINE 459 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 459 "src/Data/List/HT/Private.hs" #-}
-     (\(NonEmpty xs) -> splitLast (xs::String)  ==  (init xs, last xs))
- DocTest.printPrefix "Data.List.HT.Private:479: "
-{-# LINE 479 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 479 "src/Data/List/HT/Private.hs" #-}
-     (\xs -> maybe True ((init xs, last xs) == ) (viewR (xs::String)))
- DocTest.printPrefix "Data.List.HT.Private:500: "
-{-# LINE 500 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 500 "src/Data/List/HT/Private.hs" #-}
-     (\xs -> switchR True (\ixs lxs -> ixs == init xs && lxs == last xs) (xs::String))
- DocTest.printPrefix "Data.List.HT.Private:514: "
-{-# LINE 514 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 514 "src/Data/List/HT/Private.hs" #-}
-     (\n xs -> takeRev n (xs::String) == reverse (take n (reverse xs)))
- DocTest.printPrefix "Data.List.HT.Private:523: "
-{-# LINE 523 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 523 "src/Data/List/HT/Private.hs" #-}
-     (\n xs -> dropRev n (xs::String) == reverse (drop n (reverse xs)))
- DocTest.printPrefix "Data.List.HT.Private:531: "
-{-# LINE 531 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 531 "src/Data/List/HT/Private.hs" #-}
-     (\n xs -> splitAtRev n (xs::String) == (dropRev n xs, takeRev n xs))
- DocTest.printPrefix "Data.List.HT.Private:532: "
-{-# LINE 532 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 532 "src/Data/List/HT/Private.hs" #-}
-     (\n xs -> (xs::String) == uncurry (++) (splitAtRev n xs))
- DocTest.printPrefix "Data.List.HT.Private:546: "
-{-# LINE 546 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 546 "src/Data/List/HT/Private.hs" #-}
-   (maybePrefixOf "abc" "abcdef")
-  [ExpectedLine [LineChunk "Just \"def\""]]
- DocTest.printPrefix "Data.List.HT.Private:548: "
-{-# LINE 548 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 548 "src/Data/List/HT/Private.hs" #-}
-   (maybePrefixOf "def" "abcdef")
-  [ExpectedLine [LineChunk "Nothing"]]
- DocTest.printPrefix "Data.List.HT.Private:557: "
-{-# LINE 557 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 557 "src/Data/List/HT/Private.hs" #-}
-   (maybeSuffixOf "abc" "abcdef")
-  [ExpectedLine [LineChunk "Nothing"]]
- DocTest.printPrefix "Data.List.HT.Private:559: "
-{-# LINE 559 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 559 "src/Data/List/HT/Private.hs" #-}
-   (maybeSuffixOf "def" "abcdef")
-  [ExpectedLine [LineChunk "Just \"abc\""]]
- DocTest.printPrefix "Data.List.HT.Private:570: "
-{-# LINE 570 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 570 "src/Data/List/HT/Private.hs" #-}
-     (forAllMaybeFn $ \f xs -> partitionMaybe f xs == (mapMaybe f xs, filter (isNothing . f) xs))
- DocTest.printPrefix "Data.List.HT.Private:571: "
-{-# LINE 571 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 571 "src/Data/List/HT/Private.hs" #-}
-     (forAllPredicates $ \p xs -> partition p xs == partitionMaybe (\x -> toMaybe (p x) x) xs)
- DocTest.printPrefix "Data.List.HT.Private:584: "
-{-# LINE 584 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 584 "src/Data/List/HT/Private.hs" #-}
-   (takeWhileJust [Just 'a', Just 'b', Nothing, Just 'c'])
-  [ExpectedLine [LineChunk "\"ab\""]]
- DocTest.printPrefix "Data.List.HT.Private:589: "
-{-# LINE 589 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 589 "src/Data/List/HT/Private.hs" #-}
-   (takeWhileJust $ map (fmap fst . viewL) ["abc","def","","xyz"])
-  [ExpectedLine [LineChunk "\"ad\""]]
- DocTest.printPrefix "Data.List.HT.Private:610: "
-{-# LINE 610 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 610 "src/Data/List/HT/Private.hs" #-}
-          (forAllMaybeFn $ \f xs -> dropWhileNothing f xs == dropWhileNothingRec f xs)
- DocTest.printPrefix "Data.List.HT.Private:617: "
-{-# LINE 617 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 617 "src/Data/List/HT/Private.hs" #-}
-          (forAllMaybeFn $ \f xs -> snd (breakJust f xs) == dropWhileNothing f xs)
- DocTest.printPrefix "Data.List.HT.Private:628: "
-{-# LINE 628 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 628 "src/Data/List/HT/Private.hs" #-}
-          (forAllMaybeFn $ \f xs -> breakJust f xs == breakJustRemoveEach f xs)
- DocTest.printPrefix "Data.List.HT.Private:636: "
-{-# LINE 636 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 636 "src/Data/List/HT/Private.hs" #-}
-          (forAllMaybeFn $ \f xs -> breakJust f xs == breakJustPartial f xs)
- DocTest.printPrefix "Data.List.HT.Private:664: "
-{-# LINE 664 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 664 "src/Data/List/HT/Private.hs" #-}
-   (sieve 6 ['a'..'z'])
-  [ExpectedLine [LineChunk "\"agmsy\""]]
- DocTest.printPrefix "Data.List.HT.Private:671: "
-{-# LINE 671 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 671 "src/Data/List/HT/Private.hs" #-}
-          (\(Positive n) xs -> sieve n xs == sieve' n (xs::String))
- DocTest.printPrefix "Data.List.HT.Private:674: "
-{-# LINE 674 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 674 "src/Data/List/HT/Private.hs" #-}
-          (\(Positive n) xs -> sieve n xs == sieve'' n (xs::String))
- DocTest.printPrefix "Data.List.HT.Private:677: "
-{-# LINE 677 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 677 "src/Data/List/HT/Private.hs" #-}
-          (\(Positive n) xs -> sieve n xs == sieve''' n (xs::String))
- DocTest.printPrefix "Data.List.HT.Private:689: "
-{-# LINE 689 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 689 "src/Data/List/HT/Private.hs" #-}
-     (\(NonEmpty xs) -> QC.forAll (QC.choose (1, length xs)) $ \n -> sliceHorizontal n xs == transpose (sliceVertical n (xs::String)))
- DocTest.printPrefix "Data.List.HT.Private:690: "
-{-# LINE 690 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 690 "src/Data/List/HT/Private.hs" #-}
-     (\(NonEmpty xs) -> QC.forAll (QC.choose (1, length xs)) $ \n -> sliceVertical  n xs == transpose (sliceHorizontal n (xs::String)))
- DocTest.printPrefix "Data.List.HT.Private:686: "
-{-# LINE 686 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 686 "src/Data/List/HT/Private.hs" #-}
-   (sliceHorizontal 6 ['a'..'z'])
-  [ExpectedLine [LineChunk "[\"agmsy\",\"bhntz\",\"ciou\",\"djpv\",\"ekqw\",\"flrx\"]"]]
- DocTest.printPrefix "Data.List.HT.Private:694: "
-{-# LINE 694 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 694 "src/Data/List/HT/Private.hs" #-}
-   (sliceHorizontal 4 ([]::[Int]))
-  [ExpectedLine [LineChunk "[[],[],[],[]]"]]
- DocTest.printPrefix "Data.List.HT.Private:702: "
-{-# LINE 702 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 702 "src/Data/List/HT/Private.hs" #-}
-          (\(NonNegative n) xs -> sliceHorizontal n xs == sliceHorizontal' n (xs::String))
- DocTest.printPrefix "Data.List.HT.Private:706: "
-{-# LINE 706 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 706 "src/Data/List/HT/Private.hs" #-}
-          (\(Positive n) xs -> sliceHorizontal n xs == sliceHorizontal'' n (xs::String))
- DocTest.printPrefix "Data.List.HT.Private:715: "
-{-# LINE 715 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 715 "src/Data/List/HT/Private.hs" #-}
-   (sliceVertical 6 ['a'..'z'])
-  [ExpectedLine [LineChunk "[\"abcdef\",\"ghijkl\",\"mnopqr\",\"stuvwx\",\"yz\"]"]]
- DocTest.printPrefix "Data.List.HT.Private:724: "
-{-# LINE 724 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 724 "src/Data/List/HT/Private.hs" #-}
-          (\(NonNegative n) xs -> equating (take 100000) (sliceVertical n xs) (sliceVertical' n (xs::String)))
- DocTest.printPrefix "Data.List.HT.Private:737: "
-{-# LINE 737 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 737 "src/Data/List/HT/Private.hs" #-}
-     (\(NonEmpty xs) ys -> replace xs xs ys == (ys::String))
- DocTest.printPrefix "Data.List.HT.Private:738: "
-{-# LINE 738 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 738 "src/Data/List/HT/Private.hs" #-}
-     (\(NonEmpty xs) (NonEmpty ys) -> equating (take 1000) (replace xs ys (cycle xs)) (cycle (ys::String)))
- DocTest.printPrefix "Data.List.HT.Private:876: "
-{-# LINE 876 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 876 "src/Data/List/HT/Private.hs" #-}
-     (\xs -> shearTranspose xs  ==  map reverse (shear (xs::[String])))
- DocTest.printPrefix "Data.List.HT.Private:911: "
-{-# LINE 911 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 911 "src/Data/List/HT/Private.hs" #-}
-     (\xs ys -> let f x y = (x::Char,y::Int) in concat (outerProduct f xs ys)  ==  liftM2 f xs ys)
- DocTest.printPrefix "Data.List.HT.Private:934: "
-{-# LINE 934 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 934 "src/Data/List/HT/Private.hs" #-}
-     (\ys xs -> let ps = map (<=) ys in takeWhileMulti ps xs == takeWhileMulti' ps (xs::String))
- DocTest.printPrefix "Data.List.HT.Private:999: "
-{-# LINE 999 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 999 "src/Data/List/HT/Private.hs" #-}
-     (\n xs -> lengthAtLeast n (xs::String)  ==  (length xs >= n))
- DocTest.printPrefix "Data.List.HT.Private:988: "
-{-# LINE 988 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 988 "src/Data/List/HT/Private.hs" #-}
-   (lengthAtLeast 0 "")
-  [ExpectedLine [LineChunk "True"]]
- DocTest.printPrefix "Data.List.HT.Private:990: "
-{-# LINE 990 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 990 "src/Data/List/HT/Private.hs" #-}
-   (lengthAtLeast 3 "ab")
-  [ExpectedLine [LineChunk "False"]]
- DocTest.printPrefix "Data.List.HT.Private:992: "
-{-# LINE 992 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 992 "src/Data/List/HT/Private.hs" #-}
-   (lengthAtLeast 3 "abc")
-  [ExpectedLine [LineChunk "True"]]
- DocTest.printPrefix "Data.List.HT.Private:994: "
-{-# LINE 994 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 994 "src/Data/List/HT/Private.hs" #-}
-   (lengthAtLeast 3 $ repeat 'a')
-  [ExpectedLine [LineChunk "True"]]
- DocTest.printPrefix "Data.List.HT.Private:996: "
-{-# LINE 996 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 996 "src/Data/List/HT/Private.hs" #-}
-   (lengthAtLeast 3 $ "abc" ++ undefined)
-  [ExpectedLine [LineChunk "True"]]
- DocTest.printPrefix "Data.List.HT.Private:1021: "
-{-# LINE 1021 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 1021 "src/Data/List/HT/Private.hs" #-}
-     (\n xs -> lengthAtMost n (xs::String)  ==  (length xs <= n))
- DocTest.printPrefix "Data.List.HT.Private:1008: "
-{-# LINE 1008 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1008 "src/Data/List/HT/Private.hs" #-}
-   (lengthAtMost 0 "")
-  [ExpectedLine [LineChunk "True"]]
- DocTest.printPrefix "Data.List.HT.Private:1010: "
-{-# LINE 1010 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1010 "src/Data/List/HT/Private.hs" #-}
-   (lengthAtMost 3 "ab")
-  [ExpectedLine [LineChunk "True"]]
- DocTest.printPrefix "Data.List.HT.Private:1012: "
-{-# LINE 1012 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1012 "src/Data/List/HT/Private.hs" #-}
-   (lengthAtMost 3 "abc")
-  [ExpectedLine [LineChunk "True"]]
- DocTest.printPrefix "Data.List.HT.Private:1014: "
-{-# LINE 1014 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1014 "src/Data/List/HT/Private.hs" #-}
-   (lengthAtMost 3 "abcd")
-  [ExpectedLine [LineChunk "False"]]
- DocTest.printPrefix "Data.List.HT.Private:1016: "
-{-# LINE 1016 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1016 "src/Data/List/HT/Private.hs" #-}
-   (lengthAtMost 3 $ repeat 'a')
-  [ExpectedLine [LineChunk "False"]]
- DocTest.printPrefix "Data.List.HT.Private:1018: "
-{-# LINE 1018 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1018 "src/Data/List/HT/Private.hs" #-}
-   (lengthAtMost 3 $ "abcd" ++ undefined)
-  [ExpectedLine [LineChunk "False"]]
- DocTest.printPrefix "Data.List.HT.Private:1030: "
-{-# LINE 1030 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 1030 "src/Data/List/HT/Private.hs" #-}
-     (\n xs -> lengthAtMost0 n (xs::String)  ==  (length xs <= n))
- DocTest.printPrefix "Data.List.HT.Private:1077: "
-{-# LINE 1077 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 1077 "src/Data/List/HT/Private.hs" #-}
-     (\n (NonEmpty xs) -> rotate n xs == rotate' n (xs::String))
- DocTest.printPrefix "Data.List.HT.Private:1084: "
-{-# LINE 1084 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 1084 "src/Data/List/HT/Private.hs" #-}
-     (\(NonNegative n) xs -> rotate n xs == rotate'' n (xs::String))
- DocTest.printPrefix "Data.List.HT.Private:1094: "
-{-# LINE 1094 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1094 "src/Data/List/HT/Private.hs" #-}
-   (mergeBy (<=) "agh" "begz")
-  [ExpectedLine [LineChunk "\"abegghz\""]]
- DocTest.printPrefix "Data.List.HT.Private:1102: "
-{-# LINE 1102 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1102 "src/Data/List/HT/Private.hs" #-}
-   (allEqual "aab")
-  [ExpectedLine [LineChunk "False"]]
- DocTest.printPrefix "Data.List.HT.Private:1104: "
-{-# LINE 1104 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1104 "src/Data/List/HT/Private.hs" #-}
-   (allEqual "aaa")
-  [ExpectedLine [LineChunk "True"]]
- DocTest.printPrefix "Data.List.HT.Private:1106: "
-{-# LINE 1106 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1106 "src/Data/List/HT/Private.hs" #-}
-   (allEqual "aa")
-  [ExpectedLine [LineChunk "True"]]
- DocTest.printPrefix "Data.List.HT.Private:1108: "
-{-# LINE 1108 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1108 "src/Data/List/HT/Private.hs" #-}
-   (allEqual "a")
-  [ExpectedLine [LineChunk "True"]]
- DocTest.printPrefix "Data.List.HT.Private:1110: "
-{-# LINE 1110 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1110 "src/Data/List/HT/Private.hs" #-}
-   (allEqual "")
-  [ExpectedLine [LineChunk "True"]]
- DocTest.printPrefix "Data.List.HT.Private:1117: "
-{-# LINE 1117 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1117 "src/Data/List/HT/Private.hs" #-}
-   (isAscending "abc")
-  [ExpectedLine [LineChunk "True"]]
- DocTest.printPrefix "Data.List.HT.Private:1119: "
-{-# LINE 1119 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1119 "src/Data/List/HT/Private.hs" #-}
-   (isAscending "abb")
-  [ExpectedLine [LineChunk "True"]]
- DocTest.printPrefix "Data.List.HT.Private:1121: "
-{-# LINE 1121 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1121 "src/Data/List/HT/Private.hs" #-}
-   (isAscending "aba")
-  [ExpectedLine [LineChunk "False"]]
- DocTest.printPrefix "Data.List.HT.Private:1123: "
-{-# LINE 1123 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1123 "src/Data/List/HT/Private.hs" #-}
-   (isAscending "cba")
-  [ExpectedLine [LineChunk "False"]]
- DocTest.printPrefix "Data.List.HT.Private:1125: "
-{-# LINE 1125 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1125 "src/Data/List/HT/Private.hs" #-}
-   (isAscending "a")
-  [ExpectedLine [LineChunk "True"]]
- DocTest.printPrefix "Data.List.HT.Private:1127: "
-{-# LINE 1127 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1127 "src/Data/List/HT/Private.hs" #-}
-   (isAscending "")
-  [ExpectedLine [LineChunk "True"]]
- DocTest.printPrefix "Data.List.HT.Private:1149: "
-{-# LINE 1149 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 1149 "src/Data/List/HT/Private.hs" #-}
-     (\x xs -> mapAdjacent subtract (scanl (+) x xs) == (xs::[Integer]))
- DocTest.printPrefix "Data.List.HT.Private:1140: "
-{-# LINE 1140 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1140 "src/Data/List/HT/Private.hs" #-}
-   (mapAdjacent (<=) "")
-  [ExpectedLine [LineChunk "[]"]]
- DocTest.printPrefix "Data.List.HT.Private:1142: "
-{-# LINE 1142 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1142 "src/Data/List/HT/Private.hs" #-}
-   (mapAdjacent (<=) "a")
-  [ExpectedLine [LineChunk "[]"]]
- DocTest.printPrefix "Data.List.HT.Private:1144: "
-{-# LINE 1144 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1144 "src/Data/List/HT/Private.hs" #-}
-   (mapAdjacent (<=) "aba")
-  [ExpectedLine [LineChunk "[True,False]"]]
- DocTest.printPrefix "Data.List.HT.Private:1146: "
-{-# LINE 1146 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1146 "src/Data/List/HT/Private.hs" #-}
-   (mapAdjacent (,) "abc")
-  [ExpectedLine [LineChunk "[('a','b'),('b','c')]"]]
- DocTest.printPrefix "Data.List.HT.Private:1157: "
-{-# LINE 1157 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 1157 "src/Data/List/HT/Private.hs" #-}
-     (\xs -> mapAdjacent (,) xs == mapAdjacentPointfree (,) (xs::String))
- DocTest.printPrefix "Data.List.HT.Private:1164: "
-{-# LINE 1164 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1164 "src/Data/List/HT/Private.hs" #-}
-   (let f x y z = [x,y]++show(z::Int) in mapAdjacent1 f 'a' [('b',1), ('c',2), ('d',3)])
-  [ExpectedLine [LineChunk "[\"ab1\",\"bc2\",\"cd3\"]"]]
- DocTest.printPrefix "Data.List.HT.Private:1180: "
-{-# LINE 1180 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 1180 "src/Data/List/HT/Private.hs" #-}
-     (\as bs -> let f a b = abs (a-b) <= (10::Int) in equalWith f as bs ==  equalWithRec f as bs)
- DocTest.printPrefix "Data.List.HT.Private:1181: "
-{-# LINE 1181 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 1181 "src/Data/List/HT/Private.hs" #-}
-     (\as bs -> let f a b = abs (a-b) <= (10::Int) in equalWith f as bs ==  equalWithLiftM f as bs)
- DocTest.printPrefix "Data.List.HT.Private:1173: "
-{-# LINE 1173 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1173 "src/Data/List/HT/Private.hs" #-}
-   (equalWith (<=) "ab" "bb")
-  [ExpectedLine [LineChunk "True"]]
- DocTest.printPrefix "Data.List.HT.Private:1175: "
-{-# LINE 1175 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1175 "src/Data/List/HT/Private.hs" #-}
-   (equalWith (<=) "aa" "bbb")
-  [ExpectedLine [LineChunk "False"]]
- DocTest.printPrefix "Data.List.HT.Private:1177: "
-{-# LINE 1177 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1177 "src/Data/List/HT/Private.hs" #-}
-   (equalWith (==) "aa" "aaa")
-  [ExpectedLine [LineChunk "False"]]
- DocTest.printPrefix "Data.List.HT.Private:1224: "
-{-# LINE 1224 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 1224 "src/Data/List/HT/Private.hs" #-}
-     (\(NonNegative n) -> length (range n :: [Integer]) == n)
- DocTest.printPrefix "Data.List.HT.Private:1217: "
-{-# LINE 1217 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1217 "src/Data/List/HT/Private.hs" #-}
-   (range 0 :: [Integer])
-  [ExpectedLine [LineChunk "[]"]]
- DocTest.printPrefix "Data.List.HT.Private:1219: "
-{-# LINE 1219 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1219 "src/Data/List/HT/Private.hs" #-}
-   (range 1 :: [Integer])
-  [ExpectedLine [LineChunk "[0]"]]
- DocTest.printPrefix "Data.List.HT.Private:1221: "
-{-# LINE 1221 "src/Data/List/HT/Private.hs" #-}
- DocTest.example
-{-# LINE 1221 "src/Data/List/HT/Private.hs" #-}
-   (range 8 :: [Integer])
-  [ExpectedLine [LineChunk "[0,1,2,3,4,5,6,7]"]]
- DocTest.printPrefix "Data.List.HT.Private:1251: "
-{-# LINE 1251 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 1251 "src/Data/List/HT/Private.hs" #-}
-     (\x -> equating (take 1000) (List.iterate (x+) x) (iterateAssociative (+) (x::Integer)))
- DocTest.printPrefix "Data.List.HT.Private:1270: "
-{-# LINE 1270 "src/Data/List/HT/Private.hs" #-}
- DocTest.property
-{-# LINE 1270 "src/Data/List/HT/Private.hs" #-}
-     (\x -> equating (take 1000) (List.iterate (x+) x) (iterateLeaky (+) (x::Integer)))
+import     Data.Char (isLetter, isUpper, toUpper)
+import     Data.Eq.HT (equating)
+import     Control.Monad (liftM2)
+
+divMaybe     :: Int -> Int -> Maybe Int
+divMaybe     m n = case divMod n m of (q,0) -> Just q; _ -> Nothing
+
+forAllMaybeFn     :: (QC.Testable test) => ((Int -> Maybe Int) -> test) -> QC.Property
+forAllMaybeFn     prop = QC.forAll (QC.choose (1,4)) $ prop . divMaybe
+
+test :: DocTest.T ()
+test = do
+ DocTest.printPrefix "Data.List.HT.Private:101: "
+{-# LINE 101 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 101 "src/Data/List/HT/Private.hs" #-}
+    groupBy (<) "abcdebcdef"
+  )
+  [ExpectedLine [LineChunk "[\"abcde\",\"bcdef\"]"]]
+ DocTest.printPrefix "Data.List.HT.Private:108: "
+{-# LINE 108 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 108 "src/Data/List/HT/Private.hs" #-}
+    List.groupBy (<) "abcdebcdef"
+  )
+  [ExpectedLine [LineChunk "[\"abcdebcdef\"]"]]
+ DocTest.printPrefix "Data.List.HT.Private:179: "
+{-# LINE 179 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 179 "src/Data/List/HT/Private.hs" #-}
+    words "a  a"
+  )
+  [ExpectedLine [LineChunk "[\"a\",\"a\"]"]]
+ DocTest.printPrefix "Data.List.HT.Private:181: "
+{-# LINE 181 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 181 "src/Data/List/HT/Private.hs" #-}
+    chop (' '==) "a  a"
+  )
+  [ExpectedLine [LineChunk "[\"a\",\"\",\"a\"]"]]
+ DocTest.printPrefix "Data.List.HT.Private:184: "
+{-# LINE 184 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 184 "src/Data/List/HT/Private.hs" #-}
+    lines "a\n\na"
+  )
+  [ExpectedLine [LineChunk "[\"a\",\"\",\"a\"]"]]
+ DocTest.printPrefix "Data.List.HT.Private:186: "
+{-# LINE 186 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 186 "src/Data/List/HT/Private.hs" #-}
+    chop ('\n'==) "a\n\na"
+  )
+  [ExpectedLine [LineChunk "[\"a\",\"\",\"a\"]"]]
+ DocTest.printPrefix "Data.List.HT.Private:189: "
+{-# LINE 189 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 189 "src/Data/List/HT/Private.hs" #-}
+    lines "a\n"
+  )
+  [ExpectedLine [LineChunk "[\"a\"]"]]
+ DocTest.printPrefix "Data.List.HT.Private:191: "
+{-# LINE 191 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 191 "src/Data/List/HT/Private.hs" #-}
+    chop ('\n'==) "a\n"
+  )
+  [ExpectedLine [LineChunk "[\"a\",\"\"]"]]
+ DocTest.printPrefix "Data.List.HT.Private:220: "
+{-# LINE 220 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 220 "src/Data/List/HT/Private.hs" #-}
+      forAllPredicates $ \p xs -> uncurry (++) (breakAfter p xs) == xs
+  )
+ DocTest.printPrefix "Data.List.HT.Private:239: "
+{-# LINE 239 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 239 "src/Data/List/HT/Private.hs" #-}
+           forAllPredicates $ \p xs -> breakAfterRec p xs == breakAfterFoldr p xs
+  )
+ DocTest.printPrefix "Data.List.HT.Private:247: "
+{-# LINE 247 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 247 "src/Data/List/HT/Private.hs" #-}
+           forAllPredicates $ \p xs -> breakAfterRec p xs == breakAfterBreak p xs
+  )
+ DocTest.printPrefix "Data.List.HT.Private:254: "
+{-# LINE 254 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 254 "src/Data/List/HT/Private.hs" #-}
+           forAllPredicates $ \p xs -> breakAfterRec p xs == breakAfterTakeUntil p xs
+  )
+ DocTest.printPrefix "Data.List.HT.Private:267: "
+{-# LINE 267 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 267 "src/Data/List/HT/Private.hs" #-}
+      forAllPredicates $ \p xs -> takeUntil p xs == fst (breakAfter p xs)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:280: "
+{-# LINE 280 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 280 "src/Data/List/HT/Private.hs" #-}
+      forAllPredicates $ \p xs -> concat (segmentAfter p xs) == xs
+  )
+ DocTest.printPrefix "Data.List.HT.Private:281: "
+{-# LINE 281 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 281 "src/Data/List/HT/Private.hs" #-}
+      forAllPredicates $ \p xs -> length (filter p xs) == length (tail (segmentAfter p xs))
+  )
+ DocTest.printPrefix "Data.List.HT.Private:282: "
+{-# LINE 282 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 282 "src/Data/List/HT/Private.hs" #-}
+      forAllPredicates $ \p -> all (p . last) . init . segmentAfter p
+  )
+ DocTest.printPrefix "Data.List.HT.Private:283: "
+{-# LINE 283 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 283 "src/Data/List/HT/Private.hs" #-}
+      forAllPredicates $ \p -> all (all (not . p) . init) . init . segmentAfter p
+  )
+ DocTest.printPrefix "Data.List.HT.Private:287: "
+{-# LINE 287 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 287 "src/Data/List/HT/Private.hs" #-}
+      forAllPredicates $ \p x -> flip seq True . (!!100) . concat . segmentAfter p . cycle . (x:)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:309: "
+{-# LINE 309 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 309 "src/Data/List/HT/Private.hs" #-}
+    segmentBefore isUpper "AbcdXyz"
+  )
+  [ExpectedLine [LineChunk "[\"\",\"Abcd\",\"Xyz\"]"]]
+ DocTest.printPrefix "Data.List.HT.Private:311: "
+{-# LINE 311 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 311 "src/Data/List/HT/Private.hs" #-}
+    segmentBefore isUpper "kAbcdXYZ"
+  )
+  [ExpectedLine [LineChunk "[\"k\",\"Abcd\",\"X\",\"Y\",\"Z\"]"]]
+ DocTest.printPrefix "Data.List.HT.Private:314: "
+{-# LINE 314 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 314 "src/Data/List/HT/Private.hs" #-}
+      forAllPredicates $ \p xs -> concat (segmentBefore p xs) == xs
+  )
+ DocTest.printPrefix "Data.List.HT.Private:315: "
+{-# LINE 315 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 315 "src/Data/List/HT/Private.hs" #-}
+      forAllPredicates $ \p xs -> length (filter p xs) == length (tail (segmentBefore p xs))
+  )
+ DocTest.printPrefix "Data.List.HT.Private:316: "
+{-# LINE 316 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 316 "src/Data/List/HT/Private.hs" #-}
+      forAllPredicates $ \p -> all (p . head) . tail . segmentBefore p
+  )
+ DocTest.printPrefix "Data.List.HT.Private:317: "
+{-# LINE 317 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 317 "src/Data/List/HT/Private.hs" #-}
+      forAllPredicates $ \p -> all (all (not . p) . tail) . tail . segmentBefore p
+  )
+ DocTest.printPrefix "Data.List.HT.Private:318: "
+{-# LINE 318 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 318 "src/Data/List/HT/Private.hs" #-}
+      forAllPredicates $ \p x -> flip seq True . (!!100) . concat . segmentBefore p . cycle . (x:)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:330: "
+{-# LINE 330 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 330 "src/Data/List/HT/Private.hs" #-}
+           forAllPredicates $ \p xs -> segmentBefore p xs == segmentBefore' p xs
+  )
+ DocTest.printPrefix "Data.List.HT.Private:341: "
+{-# LINE 341 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 341 "src/Data/List/HT/Private.hs" #-}
+           forAllPredicates $ \p xs -> segmentBefore p xs == segmentBefore'' p xs
+  )
+ DocTest.printPrefix "Data.List.HT.Private:353: "
+{-# LINE 353 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 353 "src/Data/List/HT/Private.hs" #-}
+    segmentBeforeJust (\c -> toMaybe (isLetter c) (toUpper c)) "123a5345b---"
+  )
+  [ExpectedLine [LineChunk "(\"123\",[('A',\"5345\"),('B',\"---\")])"]]
+ DocTest.printPrefix "Data.List.HT.Private:369: "
+{-# LINE 369 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 369 "src/Data/List/HT/Private.hs" #-}
+    segmentAfterJust (\c -> toMaybe (isLetter c) (toUpper c)) "123a5345b---"
+  )
+  [ExpectedLine [LineChunk "([(\"123\",'A'),(\"5345\",'B')],\"---\")"]]
+ DocTest.printPrefix "Data.List.HT.Private:382: "
+{-# LINE 382 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 382 "src/Data/List/HT/Private.hs" #-}
+    segmentBeforeRight [Left 'a', Right LT, Right GT, Left 'b']
+  )
+  [ExpectedLine [LineChunk "(\"a\",[(LT,\"\"),(GT,\"b\")])"]]
+ DocTest.printPrefix "Data.List.HT.Private:385: "
+{-# LINE 385 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 385 "src/Data/List/HT/Private.hs" #-}
+      forAllMaybeFn $ \f xs -> segmentBeforeJust f xs == segmentBeforeRight (map (\x -> maybe (Left x) Right (f x)) xs)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:399: "
+{-# LINE 399 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 399 "src/Data/List/HT/Private.hs" #-}
+    segmentAfterRight [Left 'a', Right LT, Right GT, Left 'b']
+  )
+  [ExpectedLine [LineChunk "([(\"a\",LT),(\"\",GT)],\"b\")"]]
+ DocTest.printPrefix "Data.List.HT.Private:402: "
+{-# LINE 402 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 402 "src/Data/List/HT/Private.hs" #-}
+      forAllMaybeFn $ \f xs -> segmentAfterJust f xs == segmentAfterRight (map (\x -> maybe (Left x) Right (f x)) xs)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:425: "
+{-# LINE 425 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 425 "src/Data/List/HT/Private.hs" #-}
+    removeEach "abc"
+  )
+  [ExpectedLine [LineChunk "[('a',\"bc\"),('b',\"ac\"),('c',\"ab\")]"]]
+ DocTest.printPrefix "Data.List.HT.Private:427: "
+{-# LINE 427 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 427 "src/Data/List/HT/Private.hs" #-}
+    removeEach "a"
+  )
+  [ExpectedLine [LineChunk "[('a',\"\")]"]]
+ DocTest.printPrefix "Data.List.HT.Private:429: "
+{-# LINE 429 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 429 "src/Data/List/HT/Private.hs" #-}
+    removeEach ""
+  )
+  [ExpectedLine [LineChunk "[]"]]
+ DocTest.printPrefix "Data.List.HT.Private:437: "
+{-# LINE 437 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 437 "src/Data/List/HT/Private.hs" #-}
+    splitEverywhere "abc"
+  )
+  [ExpectedLine [LineChunk "[(\"\",'a',\"bc\"),(\"a\",'b',\"c\"),(\"ab\",'c',\"\")]"]]
+ DocTest.printPrefix "Data.List.HT.Private:439: "
+{-# LINE 439 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 439 "src/Data/List/HT/Private.hs" #-}
+    splitEverywhere "a"
+  )
+  [ExpectedLine [LineChunk "[(\"\",'a',\"\")]"]]
+ DocTest.printPrefix "Data.List.HT.Private:441: "
+{-# LINE 441 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 441 "src/Data/List/HT/Private.hs" #-}
+    splitEverywhere ""
+  )
+  [ExpectedLine [LineChunk "[]"]]
+ DocTest.printPrefix "Data.List.HT.Private:464: "
+{-# LINE 464 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 464 "src/Data/List/HT/Private.hs" #-}
+      \(NonEmpty xs) -> splitLast (xs::String)  ==  (init xs, last xs)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:484: "
+{-# LINE 484 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 484 "src/Data/List/HT/Private.hs" #-}
+      \xs -> maybe True ((init xs, last xs) == ) (viewR (xs::String))
+  )
+ DocTest.printPrefix "Data.List.HT.Private:505: "
+{-# LINE 505 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 505 "src/Data/List/HT/Private.hs" #-}
+      \xs -> switchR True (\ixs lxs -> ixs == init xs && lxs == last xs) (xs::String)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:519: "
+{-# LINE 519 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 519 "src/Data/List/HT/Private.hs" #-}
+      \n xs -> takeRev n (xs::String) == reverse (take n (reverse xs))
+  )
+ DocTest.printPrefix "Data.List.HT.Private:528: "
+{-# LINE 528 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 528 "src/Data/List/HT/Private.hs" #-}
+      \n xs -> dropRev n (xs::String) == reverse (drop n (reverse xs))
+  )
+ DocTest.printPrefix "Data.List.HT.Private:536: "
+{-# LINE 536 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 536 "src/Data/List/HT/Private.hs" #-}
+      \n xs -> splitAtRev n (xs::String) == (dropRev n xs, takeRev n xs)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:537: "
+{-# LINE 537 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 537 "src/Data/List/HT/Private.hs" #-}
+      \n xs -> (xs::String) == uncurry (++) (splitAtRev n xs)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:551: "
+{-# LINE 551 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 551 "src/Data/List/HT/Private.hs" #-}
+    maybePrefixOf "abc" "abcdef"
+  )
+  [ExpectedLine [LineChunk "Just \"def\""]]
+ DocTest.printPrefix "Data.List.HT.Private:553: "
+{-# LINE 553 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 553 "src/Data/List/HT/Private.hs" #-}
+    maybePrefixOf "def" "abcdef"
+  )
+  [ExpectedLine [LineChunk "Nothing"]]
+ DocTest.printPrefix "Data.List.HT.Private:562: "
+{-# LINE 562 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 562 "src/Data/List/HT/Private.hs" #-}
+    maybeSuffixOf "abc" "abcdef"
+  )
+  [ExpectedLine [LineChunk "Nothing"]]
+ DocTest.printPrefix "Data.List.HT.Private:564: "
+{-# LINE 564 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 564 "src/Data/List/HT/Private.hs" #-}
+    maybeSuffixOf "def" "abcdef"
+  )
+  [ExpectedLine [LineChunk "Just \"abc\""]]
+ DocTest.printPrefix "Data.List.HT.Private:575: "
+{-# LINE 575 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 575 "src/Data/List/HT/Private.hs" #-}
+      forAllMaybeFn $ \f xs -> partitionMaybe f xs == (mapMaybe f xs, filter (isNothing . f) xs)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:576: "
+{-# LINE 576 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 576 "src/Data/List/HT/Private.hs" #-}
+      forAllPredicates $ \p xs -> partition p xs == partitionMaybe (\x -> toMaybe (p x) x) xs
+  )
+ DocTest.printPrefix "Data.List.HT.Private:589: "
+{-# LINE 589 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 589 "src/Data/List/HT/Private.hs" #-}
+    takeWhileJust [Just 'a', Just 'b', Nothing, Just 'c']
+  )
+  [ExpectedLine [LineChunk "\"ab\""]]
+ DocTest.printPrefix "Data.List.HT.Private:594: "
+{-# LINE 594 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 594 "src/Data/List/HT/Private.hs" #-}
+    takeWhileJust $ map (fmap fst . viewL) ["abc","def","","xyz"]
+  )
+  [ExpectedLine [LineChunk "\"ad\""]]
+ DocTest.printPrefix "Data.List.HT.Private:615: "
+{-# LINE 615 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 615 "src/Data/List/HT/Private.hs" #-}
+           forAllMaybeFn $ \f xs -> dropWhileNothing f xs == dropWhileNothingRec f xs
+  )
+ DocTest.printPrefix "Data.List.HT.Private:622: "
+{-# LINE 622 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 622 "src/Data/List/HT/Private.hs" #-}
+           forAllMaybeFn $ \f xs -> snd (breakJust f xs) == dropWhileNothing f xs
+  )
+ DocTest.printPrefix "Data.List.HT.Private:633: "
+{-# LINE 633 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 633 "src/Data/List/HT/Private.hs" #-}
+           forAllMaybeFn $ \f xs -> breakJust f xs == breakJustRemoveEach f xs
+  )
+ DocTest.printPrefix "Data.List.HT.Private:641: "
+{-# LINE 641 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 641 "src/Data/List/HT/Private.hs" #-}
+           forAllMaybeFn $ \f xs -> breakJust f xs == breakJustPartial f xs
+  )
+ DocTest.printPrefix "Data.List.HT.Private:669: "
+{-# LINE 669 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 669 "src/Data/List/HT/Private.hs" #-}
+    sieve 6 ['a'..'z']
+  )
+  [ExpectedLine [LineChunk "\"agmsy\""]]
+ DocTest.printPrefix "Data.List.HT.Private:676: "
+{-# LINE 676 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 676 "src/Data/List/HT/Private.hs" #-}
+           \(Positive n) xs -> sieve n xs == sieve' n (xs::String)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:679: "
+{-# LINE 679 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 679 "src/Data/List/HT/Private.hs" #-}
+           \(Positive n) xs -> sieve n xs == sieve'' n (xs::String)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:682: "
+{-# LINE 682 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 682 "src/Data/List/HT/Private.hs" #-}
+           \(Positive n) xs -> sieve n xs == sieve''' n (xs::String)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:691: "
+{-# LINE 691 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 691 "src/Data/List/HT/Private.hs" #-}
+    sliceHorizontal 6 ['a'..'z']
+  )
+  [ExpectedLine [LineChunk "[\"agmsy\",\"bhntz\",\"ciou\",\"djpv\",\"ekqw\",\"flrx\"]"]]
+ DocTest.printPrefix "Data.List.HT.Private:694: "
+{-# LINE 694 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 694 "src/Data/List/HT/Private.hs" #-}
+      \(NonEmpty xs) -> QC.forAll (QC.choose (1, length xs)) $ \n -> sliceHorizontal n xs == transpose (sliceVertical n (xs::String))
+  )
+ DocTest.printPrefix "Data.List.HT.Private:695: "
+{-# LINE 695 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 695 "src/Data/List/HT/Private.hs" #-}
+      \(NonEmpty xs) -> QC.forAll (QC.choose (1, length xs)) $ \n -> sliceVertical  n xs == transpose (sliceHorizontal n (xs::String))
+  )
+ DocTest.printPrefix "Data.List.HT.Private:699: "
+{-# LINE 699 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 699 "src/Data/List/HT/Private.hs" #-}
+    sliceHorizontal 4 ([]::[Int])
+  )
+  [ExpectedLine [LineChunk "[[],[],[],[]]"]]
+ DocTest.printPrefix "Data.List.HT.Private:707: "
+{-# LINE 707 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 707 "src/Data/List/HT/Private.hs" #-}
+           \(NonNegative n) xs -> sliceHorizontal n xs == sliceHorizontal' n (xs::String)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:711: "
+{-# LINE 711 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 711 "src/Data/List/HT/Private.hs" #-}
+           \(Positive n) xs -> sliceHorizontal n xs == sliceHorizontal'' n (xs::String)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:720: "
+{-# LINE 720 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 720 "src/Data/List/HT/Private.hs" #-}
+    sliceVertical 6 ['a'..'z']
+  )
+  [ExpectedLine [LineChunk "[\"abcdef\",\"ghijkl\",\"mnopqr\",\"stuvwx\",\"yz\"]"]]
+ DocTest.printPrefix "Data.List.HT.Private:729: "
+{-# LINE 729 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 729 "src/Data/List/HT/Private.hs" #-}
+           \(NonNegative n) xs -> equating (take 100000) (sliceVertical n xs) (sliceVertical' n (xs::String))
+  )
+ DocTest.printPrefix "Data.List.HT.Private:742: "
+{-# LINE 742 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 742 "src/Data/List/HT/Private.hs" #-}
+      \(NonEmpty xs) ys -> replace xs xs ys == (ys::String)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:743: "
+{-# LINE 743 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 743 "src/Data/List/HT/Private.hs" #-}
+      \(NonEmpty xs) (NonEmpty ys) -> equating (take 1000) (replace xs ys (cycle xs)) (cycle (ys::String))
+  )
+ DocTest.printPrefix "Data.List.HT.Private:881: "
+{-# LINE 881 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 881 "src/Data/List/HT/Private.hs" #-}
+      \xs -> shearTranspose xs  ==  map reverse (shear (xs::[String]))
+  )
+ DocTest.printPrefix "Data.List.HT.Private:916: "
+{-# LINE 916 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 916 "src/Data/List/HT/Private.hs" #-}
+      \xs ys -> let f x y = (x::Char,y::Int) in concat (outerProduct f xs ys)  ==  liftM2 f xs ys
+  )
+ DocTest.printPrefix "Data.List.HT.Private:939: "
+{-# LINE 939 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 939 "src/Data/List/HT/Private.hs" #-}
+      \ys xs -> let ps = map (<=) ys in takeWhileMulti ps xs == takeWhileMulti' ps (xs::String)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:993: "
+{-# LINE 993 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 993 "src/Data/List/HT/Private.hs" #-}
+    lengthAtLeast 0 ""
+  )
+  [ExpectedLine [LineChunk "True"]]
+ DocTest.printPrefix "Data.List.HT.Private:995: "
+{-# LINE 995 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 995 "src/Data/List/HT/Private.hs" #-}
+    lengthAtLeast 3 "ab"
+  )
+  [ExpectedLine [LineChunk "False"]]
+ DocTest.printPrefix "Data.List.HT.Private:997: "
+{-# LINE 997 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 997 "src/Data/List/HT/Private.hs" #-}
+    lengthAtLeast 3 "abc"
+  )
+  [ExpectedLine [LineChunk "True"]]
+ DocTest.printPrefix "Data.List.HT.Private:999: "
+{-# LINE 999 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 999 "src/Data/List/HT/Private.hs" #-}
+    lengthAtLeast 3 $ repeat 'a'
+  )
+  [ExpectedLine [LineChunk "True"]]
+ DocTest.printPrefix "Data.List.HT.Private:1001: "
+{-# LINE 1001 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1001 "src/Data/List/HT/Private.hs" #-}
+    lengthAtLeast 3 $ "abc" ++ undefined
+  )
+  [ExpectedLine [LineChunk "True"]]
+ DocTest.printPrefix "Data.List.HT.Private:1004: "
+{-# LINE 1004 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 1004 "src/Data/List/HT/Private.hs" #-}
+      \n xs -> lengthAtLeast n (xs::String)  ==  (length xs >= n)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:1013: "
+{-# LINE 1013 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1013 "src/Data/List/HT/Private.hs" #-}
+    lengthAtMost 0 ""
+  )
+  [ExpectedLine [LineChunk "True"]]
+ DocTest.printPrefix "Data.List.HT.Private:1015: "
+{-# LINE 1015 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1015 "src/Data/List/HT/Private.hs" #-}
+    lengthAtMost 3 "ab"
+  )
+  [ExpectedLine [LineChunk "True"]]
+ DocTest.printPrefix "Data.List.HT.Private:1017: "
+{-# LINE 1017 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1017 "src/Data/List/HT/Private.hs" #-}
+    lengthAtMost 3 "abc"
+  )
+  [ExpectedLine [LineChunk "True"]]
+ DocTest.printPrefix "Data.List.HT.Private:1019: "
+{-# LINE 1019 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1019 "src/Data/List/HT/Private.hs" #-}
+    lengthAtMost 3 "abcd"
+  )
+  [ExpectedLine [LineChunk "False"]]
+ DocTest.printPrefix "Data.List.HT.Private:1021: "
+{-# LINE 1021 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1021 "src/Data/List/HT/Private.hs" #-}
+    lengthAtMost 3 $ repeat 'a'
+  )
+  [ExpectedLine [LineChunk "False"]]
+ DocTest.printPrefix "Data.List.HT.Private:1023: "
+{-# LINE 1023 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1023 "src/Data/List/HT/Private.hs" #-}
+    lengthAtMost 3 $ "abcd" ++ undefined
+  )
+  [ExpectedLine [LineChunk "False"]]
+ DocTest.printPrefix "Data.List.HT.Private:1026: "
+{-# LINE 1026 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 1026 "src/Data/List/HT/Private.hs" #-}
+      \n xs -> lengthAtMost n (xs::String)  ==  (length xs <= n)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:1035: "
+{-# LINE 1035 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 1035 "src/Data/List/HT/Private.hs" #-}
+      \n xs -> lengthAtMost0 n (xs::String)  ==  (length xs <= n)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:1082: "
+{-# LINE 1082 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 1082 "src/Data/List/HT/Private.hs" #-}
+      \n (NonEmpty xs) -> rotate n xs == rotate' n (xs::String)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:1089: "
+{-# LINE 1089 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 1089 "src/Data/List/HT/Private.hs" #-}
+      \(NonNegative n) xs -> rotate n xs == rotate'' n (xs::String)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:1099: "
+{-# LINE 1099 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1099 "src/Data/List/HT/Private.hs" #-}
+    mergeBy (<=) "agh" "begz"
+  )
+  [ExpectedLine [LineChunk "\"abegghz\""]]
+ DocTest.printPrefix "Data.List.HT.Private:1107: "
+{-# LINE 1107 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1107 "src/Data/List/HT/Private.hs" #-}
+    allEqual "aab"
+  )
+  [ExpectedLine [LineChunk "False"]]
+ DocTest.printPrefix "Data.List.HT.Private:1109: "
+{-# LINE 1109 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1109 "src/Data/List/HT/Private.hs" #-}
+    allEqual "aaa"
+  )
+  [ExpectedLine [LineChunk "True"]]
+ DocTest.printPrefix "Data.List.HT.Private:1111: "
+{-# LINE 1111 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1111 "src/Data/List/HT/Private.hs" #-}
+    allEqual "aa"
+  )
+  [ExpectedLine [LineChunk "True"]]
+ DocTest.printPrefix "Data.List.HT.Private:1113: "
+{-# LINE 1113 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1113 "src/Data/List/HT/Private.hs" #-}
+    allEqual "a"
+  )
+  [ExpectedLine [LineChunk "True"]]
+ DocTest.printPrefix "Data.List.HT.Private:1115: "
+{-# LINE 1115 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1115 "src/Data/List/HT/Private.hs" #-}
+    allEqual ""
+  )
+  [ExpectedLine [LineChunk "True"]]
+ DocTest.printPrefix "Data.List.HT.Private:1122: "
+{-# LINE 1122 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1122 "src/Data/List/HT/Private.hs" #-}
+    isAscending "abc"
+  )
+  [ExpectedLine [LineChunk "True"]]
+ DocTest.printPrefix "Data.List.HT.Private:1124: "
+{-# LINE 1124 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1124 "src/Data/List/HT/Private.hs" #-}
+    isAscending "abb"
+  )
+  [ExpectedLine [LineChunk "True"]]
+ DocTest.printPrefix "Data.List.HT.Private:1126: "
+{-# LINE 1126 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1126 "src/Data/List/HT/Private.hs" #-}
+    isAscending "aba"
+  )
+  [ExpectedLine [LineChunk "False"]]
+ DocTest.printPrefix "Data.List.HT.Private:1128: "
+{-# LINE 1128 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1128 "src/Data/List/HT/Private.hs" #-}
+    isAscending "cba"
+  )
+  [ExpectedLine [LineChunk "False"]]
+ DocTest.printPrefix "Data.List.HT.Private:1130: "
+{-# LINE 1130 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1130 "src/Data/List/HT/Private.hs" #-}
+    isAscending "a"
+  )
+  [ExpectedLine [LineChunk "True"]]
+ DocTest.printPrefix "Data.List.HT.Private:1132: "
+{-# LINE 1132 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1132 "src/Data/List/HT/Private.hs" #-}
+    isAscending ""
+  )
+  [ExpectedLine [LineChunk "True"]]
+ DocTest.printPrefix "Data.List.HT.Private:1145: "
+{-# LINE 1145 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1145 "src/Data/List/HT/Private.hs" #-}
+    mapAdjacent (<=) ""
+  )
+  [ExpectedLine [LineChunk "[]"]]
+ DocTest.printPrefix "Data.List.HT.Private:1147: "
+{-# LINE 1147 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1147 "src/Data/List/HT/Private.hs" #-}
+    mapAdjacent (<=) "a"
+  )
+  [ExpectedLine [LineChunk "[]"]]
+ DocTest.printPrefix "Data.List.HT.Private:1149: "
+{-# LINE 1149 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1149 "src/Data/List/HT/Private.hs" #-}
+    mapAdjacent (<=) "aba"
+  )
+  [ExpectedLine [LineChunk "[True,False]"]]
+ DocTest.printPrefix "Data.List.HT.Private:1151: "
+{-# LINE 1151 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1151 "src/Data/List/HT/Private.hs" #-}
+    mapAdjacent (,) "abc"
+  )
+  [ExpectedLine [LineChunk "[('a','b'),('b','c')]"]]
+ DocTest.printPrefix "Data.List.HT.Private:1154: "
+{-# LINE 1154 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 1154 "src/Data/List/HT/Private.hs" #-}
+      \x xs -> mapAdjacent subtract (scanl (+) x xs) == (xs::[Integer])
+  )
+ DocTest.printPrefix "Data.List.HT.Private:1162: "
+{-# LINE 1162 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 1162 "src/Data/List/HT/Private.hs" #-}
+      \xs -> mapAdjacent (,) xs == mapAdjacentPointfree (,) (xs::String)
+  )
+ DocTest.printPrefix "Data.List.HT.Private:1169: "
+{-# LINE 1169 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1169 "src/Data/List/HT/Private.hs" #-}
+    let f x y z = [x,y]++show(z::Int) in mapAdjacent1 f 'a' [('b',1), ('c',2), ('d',3)]
+  )
+  [ExpectedLine [LineChunk "[\"ab1\",\"bc2\",\"cd3\"]"]]
+ DocTest.printPrefix "Data.List.HT.Private:1178: "
+{-# LINE 1178 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1178 "src/Data/List/HT/Private.hs" #-}
+    equalWith (<=) "ab" "bb"
+  )
+  [ExpectedLine [LineChunk "True"]]
+ DocTest.printPrefix "Data.List.HT.Private:1180: "
+{-# LINE 1180 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1180 "src/Data/List/HT/Private.hs" #-}
+    equalWith (<=) "aa" "bbb"
+  )
+  [ExpectedLine [LineChunk "False"]]
+ DocTest.printPrefix "Data.List.HT.Private:1182: "
+{-# LINE 1182 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1182 "src/Data/List/HT/Private.hs" #-}
+    equalWith (==) "aa" "aaa"
+  )
+  [ExpectedLine [LineChunk "False"]]
+ DocTest.printPrefix "Data.List.HT.Private:1185: "
+{-# LINE 1185 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 1185 "src/Data/List/HT/Private.hs" #-}
+      \as bs -> let f a b = abs (a-b) <= (10::Int) in equalWith f as bs ==  equalWithRec f as bs
+  )
+ DocTest.printPrefix "Data.List.HT.Private:1186: "
+{-# LINE 1186 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 1186 "src/Data/List/HT/Private.hs" #-}
+      \as bs -> let f a b = abs (a-b) <= (10::Int) in equalWith f as bs ==  equalWithLiftM f as bs
+  )
+ DocTest.printPrefix "Data.List.HT.Private:1222: "
+{-# LINE 1222 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1222 "src/Data/List/HT/Private.hs" #-}
+    range 0 :: [Integer]
+  )
+  [ExpectedLine [LineChunk "[]"]]
+ DocTest.printPrefix "Data.List.HT.Private:1224: "
+{-# LINE 1224 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1224 "src/Data/List/HT/Private.hs" #-}
+    range 1 :: [Integer]
+  )
+  [ExpectedLine [LineChunk "[0]"]]
+ DocTest.printPrefix "Data.List.HT.Private:1226: "
+{-# LINE 1226 "src/Data/List/HT/Private.hs" #-}
+ DocTest.example(
+{-# LINE 1226 "src/Data/List/HT/Private.hs" #-}
+    range 8 :: [Integer]
+  )
+  [ExpectedLine [LineChunk "[0,1,2,3,4,5,6,7]"]]
+ DocTest.printPrefix "Data.List.HT.Private:1229: "
+{-# LINE 1229 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 1229 "src/Data/List/HT/Private.hs" #-}
+      \(NonNegative n) -> length (range n :: [Integer]) == n
+  )
+ DocTest.printPrefix "Data.List.HT.Private:1256: "
+{-# LINE 1256 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 1256 "src/Data/List/HT/Private.hs" #-}
+      \x -> equating (take 1000) (List.iterate (x+) x) (iterateAssociative (+) (x::Integer))
+  )
+ DocTest.printPrefix "Data.List.HT.Private:1275: "
+{-# LINE 1275 "src/Data/List/HT/Private.hs" #-}
+ DocTest.property(
+{-# LINE 1275 "src/Data/List/HT/Private.hs" #-}
+      \x -> equating (take 1000) (List.iterate (x+) x) (iterateLeaky (+) (x::Integer))
+  )
diff --git a/src/DocTest/Data/List/Match/Private.hs b/src/DocTest/Data/List/Match/Private.hs
--- a/src/DocTest/Data/List/Match/Private.hs
+++ b/src/DocTest/Data/List/Match/Private.hs
@@ -27,117 +27,139 @@
 test = do
  DocTest.printPrefix "Data.List.Match.Private:34: "
 {-# LINE 34 "src/Data/List/Match/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 34 "src/Data/List/Match/Private.hs" #-}
-     (\(Shape xs) (List ys) -> Match.take xs ys == List.take (length xs) ys)
+      \(Shape xs) (List ys) -> Match.take xs ys == List.take (length xs) ys
+  )
  DocTest.printPrefix "Data.List.Match.Private:46: "
 {-# LINE 46 "src/Data/List/Match/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 46 "src/Data/List/Match/Private.hs" #-}
-     (\(Shape xs) (List ys) -> Match.drop xs ys == List.drop (length xs) ys)
+      \(Shape xs) (List ys) -> Match.drop xs ys == List.drop (length xs) ys
+  )
  DocTest.printPrefix "Data.List.Match.Private:47: "
 {-# LINE 47 "src/Data/List/Match/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 47 "src/Data/List/Match/Private.hs" #-}
-     (\(Shape xs) (List ys) -> Match.take xs ys ++ Match.drop xs ys == ys)
+      \(Shape xs) (List ys) -> Match.take xs ys ++ Match.drop xs ys == ys
+  )
  DocTest.printPrefix "Data.List.Match.Private:54: "
 {-# LINE 54 "src/Data/List/Match/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 54 "src/Data/List/Match/Private.hs" #-}
-          (\(Shape xs) (List ys) -> Match.drop xs ys == dropRec xs ys)
+           \(Shape xs) (List ys) -> Match.drop xs ys == dropRec xs ys
+  )
  DocTest.printPrefix "Data.List.Match.Private:63: "
 {-# LINE 63 "src/Data/List/Match/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 63 "src/Data/List/Match/Private.hs" #-}
-          (\(Shape xs) (List ys) -> Match.drop xs ys == drop0 xs ys)
+           \(Shape xs) (List ys) -> Match.drop xs ys == drop0 xs ys
+  )
  DocTest.printPrefix "Data.List.Match.Private:70: "
 {-# LINE 70 "src/Data/List/Match/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 70 "src/Data/List/Match/Private.hs" #-}
-          (\(Shape xs) (List ys) -> Match.drop xs ys == drop1 xs ys)
+           \(Shape xs) (List ys) -> Match.drop xs ys == drop1 xs ys
+  )
  DocTest.printPrefix "Data.List.Match.Private:75: "
 {-# LINE 75 "src/Data/List/Match/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 75 "src/Data/List/Match/Private.hs" #-}
-          (\(Shape xs) (List ys) -> Match.drop xs ys == drop2 xs ys)
+           \(Shape xs) (List ys) -> Match.drop xs ys == drop2 xs ys
+  )
  DocTest.printPrefix "Data.List.Match.Private:84: "
 {-# LINE 84 "src/Data/List/Match/Private.hs" #-}
- DocTest.example
+ DocTest.example(
 {-# LINE 84 "src/Data/List/Match/Private.hs" #-}
-   (laxTail "")
+    laxTail ""
+  )
   [ExpectedLine [LineChunk "\"\""]]
  DocTest.printPrefix "Data.List.Match.Private:86: "
 {-# LINE 86 "src/Data/List/Match/Private.hs" #-}
- DocTest.example
+ DocTest.example(
 {-# LINE 86 "src/Data/List/Match/Private.hs" #-}
-   (laxTail "a")
+    laxTail "a"
+  )
   [ExpectedLine [LineChunk "\"\""]]
  DocTest.printPrefix "Data.List.Match.Private:88: "
 {-# LINE 88 "src/Data/List/Match/Private.hs" #-}
- DocTest.example
+ DocTest.example(
 {-# LINE 88 "src/Data/List/Match/Private.hs" #-}
-   (laxTail "ab")
+    laxTail "ab"
+  )
   [ExpectedLine [LineChunk "\"b\""]]
  DocTest.printPrefix "Data.List.Match.Private:94: "
 {-# LINE 94 "src/Data/List/Match/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 94 "src/Data/List/Match/Private.hs" #-}
-          (\(List xs) -> Match.laxTail xs == Match.laxTail0 xs)
+           \(List xs) -> Match.laxTail xs == Match.laxTail0 xs
+  )
  DocTest.printPrefix "Data.List.Match.Private:99: "
 {-# LINE 99 "src/Data/List/Match/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 99 "src/Data/List/Match/Private.hs" #-}
-     (\(Shape xs) (List ys) -> Match.splitAt xs ys == (Match.take xs ys, Match.drop xs ys))
+      \(Shape xs) (List ys) -> Match.splitAt xs ys == (Match.take xs ys, Match.drop xs ys)
+  )
  DocTest.printPrefix "Data.List.Match.Private:100: "
 {-# LINE 100 "src/Data/List/Match/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 100 "src/Data/List/Match/Private.hs" #-}
-     (\(Shape xs) (List ys) -> Match.splitAt xs ys == List.splitAt (length xs) ys)
+      \(Shape xs) (List ys) -> Match.splitAt xs ys == List.splitAt (length xs) ys
+  )
  DocTest.printPrefix "Data.List.Match.Private:110: "
 {-# LINE 110 "src/Data/List/Match/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 110 "src/Data/List/Match/Private.hs" #-}
-          (\(Shape xs) (List ys) -> Match.takeRev xs ys == reverse (Match.take xs (reverse ys)))
+           \(Shape xs) (List ys) -> Match.takeRev xs ys == reverse (Match.take xs (reverse ys))
+  )
  DocTest.printPrefix "Data.List.Match.Private:114: "
 {-# LINE 114 "src/Data/List/Match/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 114 "src/Data/List/Match/Private.hs" #-}
-          (\(Shape xs) (List ys) -> Match.dropRev xs ys == reverse (Match.drop xs (reverse ys)))
+           \(Shape xs) (List ys) -> Match.dropRev xs ys == reverse (Match.drop xs (reverse ys))
+  )
  DocTest.printPrefix "Data.List.Match.Private:122: "
 {-# LINE 122 "src/Data/List/Match/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 122 "src/Data/List/Match/Private.hs" #-}
-     (\(Shape xs) (List ys) -> equalLength xs ys == (length xs == length ys))
+      \(Shape xs) (List ys) -> equalLength xs ys == (length xs == length ys)
+  )
  DocTest.printPrefix "Data.List.Match.Private:134: "
 {-# LINE 134 "src/Data/List/Match/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 134 "src/Data/List/Match/Private.hs" #-}
-     (\(Shape xs) (List ys) -> compareLength xs ys == compare (length xs) (length ys))
+      \(Shape xs) (List ys) -> compareLength xs ys == compare (length xs) (length ys)
+  )
  DocTest.printPrefix "Data.List.Match.Private:144: "
 {-# LINE 144 "src/Data/List/Match/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 144 "src/Data/List/Match/Private.hs" #-}
-     (\(Shape xs) (List ys) -> Match.compareLength xs ys == Match.compareLength0 xs ys)
+      \(Shape xs) (List ys) -> Match.compareLength xs ys == Match.compareLength0 xs ys
+  )
  DocTest.printPrefix "Data.List.Match.Private:156: "
 {-# LINE 156 "src/Data/List/Match/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 156 "src/Data/List/Match/Private.hs" #-}
-     (\(Shape xs) (List ys) -> Match.compareLength xs ys == Match.compareLength1 xs ys)
+      \(Shape xs) (List ys) -> Match.compareLength xs ys == Match.compareLength1 xs ys
+  )
  DocTest.printPrefix "Data.List.Match.Private:166: "
 {-# LINE 166 "src/Data/List/Match/Private.hs" #-}
- DocTest.example
+ DocTest.example(
 {-# LINE 166 "src/Data/List/Match/Private.hs" #-}
-   (lessOrEqualLength "" undefined)
+    lessOrEqualLength "" undefined
+  )
   [ExpectedLine [LineChunk "True"]]
  DocTest.printPrefix "Data.List.Match.Private:181: "
 {-# LINE 181 "src/Data/List/Match/Private.hs" #-}
- DocTest.example
+ DocTest.example(
 {-# LINE 181 "src/Data/List/Match/Private.hs" #-}
-   (shorterList (shorterList (repeat 'a') (repeat 'b')) "abc")
+    shorterList (shorterList (repeat 'a') (repeat 'b')) "abc"
+  )
   [ExpectedLine [LineChunk "\"abc\""]]
  DocTest.printPrefix "Data.List.Match.Private:200: "
 {-# LINE 200 "src/Data/List/Match/Private.hs" #-}
- DocTest.example
+ DocTest.example(
 {-# LINE 200 "src/Data/List/Match/Private.hs" #-}
-   (List.take 3 $ shorterListEq ("abc" ++ repeat 'a') ("abcdef" ++ repeat 'b'))
+    List.take 3 $ shorterListEq ("abc" ++ repeat 'a') ("abcdef" ++ repeat 'b')
+  )
   [ExpectedLine [LineChunk "\"abc\""]]
diff --git a/src/DocTest/Data/List/Reverse/Private.hs b/src/DocTest/Data/List/Reverse/Private.hs
--- a/src/DocTest/Data/List/Reverse/Private.hs
+++ b/src/DocTest/Data/List/Reverse/Private.hs
@@ -15,21 +15,25 @@
 test = do
  DocTest.printPrefix "Data.List.Reverse.Private:16: "
 {-# LINE 16 "src/Data/List/Reverse/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 16 "src/Data/List/Reverse/Private.hs" #-}
-     (forAllPredicates $ \p xs -> dropWhile p xs == Rev.dropWhile p xs)
+      forAllPredicates $ \p xs -> dropWhile p xs == Rev.dropWhile p xs
+  )
  DocTest.printPrefix "Data.List.Reverse.Private:23: "
 {-# LINE 23 "src/Data/List/Reverse/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 23 "src/Data/List/Reverse/Private.hs" #-}
-     (forAllPredicates $ \p xs -> takeWhile0 p xs == Rev.takeWhile p xs)
+      forAllPredicates $ \p xs -> takeWhile0 p xs == Rev.takeWhile p xs
+  )
  DocTest.printPrefix "Data.List.Reverse.Private:32: "
 {-# LINE 32 "src/Data/List/Reverse/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 32 "src/Data/List/Reverse/Private.hs" #-}
-     (forAllPredicates $ \p xs -> takeWhile1 p xs == Rev.takeWhile p xs)
+      forAllPredicates $ \p xs -> takeWhile1 p xs == Rev.takeWhile p xs
+  )
  DocTest.printPrefix "Data.List.Reverse.Private:46: "
 {-# LINE 46 "src/Data/List/Reverse/Private.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 46 "src/Data/List/Reverse/Private.hs" #-}
-     (forAllPredicates $ \p xs -> takeWhile2 p xs == Rev.takeWhile p xs)
+      forAllPredicates $ \p xs -> takeWhile2 p xs == Rev.takeWhile p xs
+  )
diff --git a/src/DocTest/Data/List/Reverse/StrictElement.hs b/src/DocTest/Data/List/Reverse/StrictElement.hs
--- a/src/DocTest/Data/List/Reverse/StrictElement.hs
+++ b/src/DocTest/Data/List/Reverse/StrictElement.hs
@@ -20,31 +20,37 @@
 test = do
  DocTest.printPrefix "Data.List.Reverse.StrictElement:31: "
 {-# LINE 31 "src/Data/List/Reverse/StrictElement.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 31 "src/Data/List/Reverse/StrictElement.hs" #-}
-     (forAllPredicates $ \p xs -> Rev.dropWhile p xs == reverse (List.dropWhile p (reverse xs)))
+      forAllPredicates $ \p xs -> Rev.dropWhile p xs == reverse (List.dropWhile p (reverse xs))
+  )
  DocTest.printPrefix "Data.List.Reverse.StrictElement:32: "
 {-# LINE 32 "src/Data/List/Reverse/StrictElement.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 32 "src/Data/List/Reverse/StrictElement.hs" #-}
-     (\x xs pad -> defined $ Match.take (pad::[()]) $ Rev.dropWhile ((x::Char)/=) $ cycle $ x:xs)
+      \x xs pad -> defined $ Match.take (pad::[()]) $ Rev.dropWhile ((x::Char)/=) $ cycle $ x:xs
+  )
  DocTest.printPrefix "Data.List.Reverse.StrictElement:41: "
 {-# LINE 41 "src/Data/List/Reverse/StrictElement.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 41 "src/Data/List/Reverse/StrictElement.hs" #-}
-     (forAllPredicates $ \p xs -> Rev.takeWhile p xs == reverse (List.takeWhile p (reverse xs)))
+      forAllPredicates $ \p xs -> Rev.takeWhile p xs == reverse (List.takeWhile p (reverse xs))
+  )
  DocTest.printPrefix "Data.List.Reverse.StrictElement:52: "
 {-# LINE 52 "src/Data/List/Reverse/StrictElement.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 52 "src/Data/List/Reverse/StrictElement.hs" #-}
-     (forAllPredicates $ \p xs -> Rev.span p xs == swap (mapPair (reverse, reverse) (List.span p (reverse xs))))
+      forAllPredicates $ \p xs -> Rev.span p xs == swap (mapPair (reverse, reverse) (List.span p (reverse xs)))
+  )
  DocTest.printPrefix "Data.List.Reverse.StrictElement:53: "
 {-# LINE 53 "src/Data/List/Reverse/StrictElement.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 53 "src/Data/List/Reverse/StrictElement.hs" #-}
-     (forAllPredicates $ \p xs -> Rev.span p xs == (Rev.dropWhile p xs, Rev.takeWhile p xs))
+      forAllPredicates $ \p xs -> Rev.span p xs == (Rev.dropWhile p xs, Rev.takeWhile p xs)
+  )
  DocTest.printPrefix "Data.List.Reverse.StrictElement:54: "
 {-# LINE 54 "src/Data/List/Reverse/StrictElement.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 54 "src/Data/List/Reverse/StrictElement.hs" #-}
-     (\x xs pad -> defined $ Match.take (pad::[()]) $ fst $ Rev.span ((x::Char)/=) $ cycle $ x:xs)
+      \x xs pad -> defined $ Match.take (pad::[()]) $ fst $ Rev.span ((x::Char)/=) $ cycle $ x:xs
+  )
diff --git a/src/DocTest/Data/List/Reverse/StrictSpine.hs b/src/DocTest/Data/List/Reverse/StrictSpine.hs
--- a/src/DocTest/Data/List/Reverse/StrictSpine.hs
+++ b/src/DocTest/Data/List/Reverse/StrictSpine.hs
@@ -20,36 +20,43 @@
 test = do
  DocTest.printPrefix "Data.List.Reverse.StrictSpine:26: "
 {-# LINE 26 "src/Data/List/Reverse/StrictSpine.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 26 "src/Data/List/Reverse/StrictSpine.hs" #-}
-     (forAllPredicates $ \p xs -> Rev.dropWhile p xs == reverse (List.dropWhile p (reverse xs)))
+      forAllPredicates $ \p xs -> Rev.dropWhile p xs == reverse (List.dropWhile p (reverse xs))
+  )
  DocTest.printPrefix "Data.List.Reverse.StrictSpine:27: "
 {-# LINE 27 "src/Data/List/Reverse/StrictSpine.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 27 "src/Data/List/Reverse/StrictSpine.hs" #-}
-     (\x xs pad -> defined $ length $ Rev.dropWhile ((x::Char)/=) $ Match.replicate (pad::[()]) undefined ++ x:xs)
+      \x xs pad -> defined $ length $ Rev.dropWhile ((x::Char)/=) $ Match.replicate (pad::[()]) undefined ++ x:xs
+  )
  DocTest.printPrefix "Data.List.Reverse.StrictSpine:34: "
 {-# LINE 34 "src/Data/List/Reverse/StrictSpine.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 34 "src/Data/List/Reverse/StrictSpine.hs" #-}
-     (forAllPredicates $ \p xs -> Rev.takeWhile p xs == reverse (List.takeWhile p (reverse xs)))
+      forAllPredicates $ \p xs -> Rev.takeWhile p xs == reverse (List.takeWhile p (reverse xs))
+  )
  DocTest.printPrefix "Data.List.Reverse.StrictSpine:35: "
 {-# LINE 35 "src/Data/List/Reverse/StrictSpine.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 35 "src/Data/List/Reverse/StrictSpine.hs" #-}
-     (\x xs pad -> defined $ Rev.takeWhile ((x::Char)/=) $ Match.replicate (pad::[()]) undefined ++ x:xs)
+      \x xs pad -> defined $ Rev.takeWhile ((x::Char)/=) $ Match.replicate (pad::[()]) undefined ++ x:xs
+  )
  DocTest.printPrefix "Data.List.Reverse.StrictSpine:46: "
 {-# LINE 46 "src/Data/List/Reverse/StrictSpine.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 46 "src/Data/List/Reverse/StrictSpine.hs" #-}
-     (forAllPredicates $ \p xs -> Rev.span p xs == swap (mapPair (reverse, reverse) (List.span p (reverse xs))))
+      forAllPredicates $ \p xs -> Rev.span p xs == swap (mapPair (reverse, reverse) (List.span p (reverse xs)))
+  )
  DocTest.printPrefix "Data.List.Reverse.StrictSpine:47: "
 {-# LINE 47 "src/Data/List/Reverse/StrictSpine.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 47 "src/Data/List/Reverse/StrictSpine.hs" #-}
-     (forAllPredicates $ \p xs -> Rev.span p xs == (Rev.dropWhile p xs, Rev.takeWhile p xs))
+      forAllPredicates $ \p xs -> Rev.span p xs == (Rev.dropWhile p xs, Rev.takeWhile p xs)
+  )
  DocTest.printPrefix "Data.List.Reverse.StrictSpine:48: "
 {-# LINE 48 "src/Data/List/Reverse/StrictSpine.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 48 "src/Data/List/Reverse/StrictSpine.hs" #-}
-     (\x xs pad -> defined $ mapFst length $ Rev.span ((x::Char)/=) $ Match.replicate (pad::[()]) undefined ++ x:xs)
+      \x xs pad -> defined $ mapFst length $ Rev.span ((x::Char)/=) $ Match.replicate (pad::[()]) undefined ++ x:xs
+  )
diff --git a/src/DocTest/Data/Maybe/HT.hs b/src/DocTest/Data/Maybe/HT.hs
--- a/src/DocTest/Data/Maybe/HT.hs
+++ b/src/DocTest/Data/Maybe/HT.hs
@@ -13,6 +13,7 @@
 test = do
  DocTest.printPrefix "Data.Maybe.HT:15: "
 {-# LINE 15 "src/Data/Maybe/HT.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 15 "src/Data/Maybe/HT.hs" #-}
-     (\b x ->  (guard b >> x)  ==  (toMaybe b =<< (x::Maybe Char)))
+      \b x ->  (guard b >> x)  ==  (toMaybe b =<< (x::Maybe Char))
+  )
diff --git a/src/DocTest/Data/Monoid/HT.hs b/src/DocTest/Data/Monoid/HT.hs
--- a/src/DocTest/Data/Monoid/HT.hs
+++ b/src/DocTest/Data/Monoid/HT.hs
@@ -16,21 +16,25 @@
 test = do
  DocTest.printPrefix "Data.Monoid.HT:34: "
 {-# LINE 34 "src/Data/Monoid/HT.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 34 "src/Data/Monoid/HT.hs" #-}
-     (\b m -> when b m == mfilter (const b) (m::Maybe Ordering))
+      \b m -> when b m == mfilter (const b) (m::Maybe Ordering)
+  )
  DocTest.printPrefix "Data.Monoid.HT:35: "
 {-# LINE 35 "src/Data/Monoid/HT.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 35 "src/Data/Monoid/HT.hs" #-}
-     (\b m -> when b m == mfilter (const b) (m::String))
+      \b m -> when b m == mfilter (const b) (m::String)
+  )
  DocTest.printPrefix "Data.Monoid.HT:41: "
 {-# LINE 41 "src/Data/Monoid/HT.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 41 "src/Data/Monoid/HT.hs" #-}
-     (QC.forAll (QC.choose (0,20)) $ \k xs -> power (fromIntegral k) xs == mconcat (replicate k (xs::String)))
+      QC.forAll (QC.choose (0,20)) $ \k xs -> power (fromIntegral k) xs == mconcat (replicate k (xs::String))
+  )
  DocTest.printPrefix "Data.Monoid.HT:46: "
 {-# LINE 46 "src/Data/Monoid/HT.hs" #-}
- DocTest.property
+ DocTest.property(
 {-# LINE 46 "src/Data/Monoid/HT.hs" #-}
-     (QC.forAll (QC.choose (0,20)) $ \k xs -> power k xs == powerAssociative mappend mempty (xs::String) k)
+      QC.forAll (QC.choose (0,20)) $ \k xs -> power k xs == powerAssociative mappend mempty (xs::String) k
+  )
diff --git a/src/Test.hs b/src/Test.hs
--- a/src/Test.hs
+++ b/src/Test.hs
@@ -10,6 +10,7 @@
 import qualified DocTest.Data.Bool.HT.Private
 import qualified DocTest.Data.Monoid.HT
 import qualified DocTest.Data.Function.HT.Private
+import qualified DocTest.Data.Ix.Enum
 
 import qualified Test.DocTest.Driver as DocTest
 
@@ -24,3 +25,4 @@
     DocTest.Data.Bool.HT.Private.test
     DocTest.Data.Monoid.HT.test
     DocTest.Data.Function.HT.Private.test
+    DocTest.Data.Ix.Enum.test
diff --git a/test-module.list b/test-module.list
--- a/test-module.list
+++ b/test-module.list
@@ -7,3 +7,4 @@
 Data.Bool.HT.Private
 Data.Monoid.HT
 Data.Function.HT.Private
+Data.Ix.Enum
diff --git a/utility-ht.cabal b/utility-ht.cabal
--- a/utility-ht.cabal
+++ b/utility-ht.cabal
@@ -1,6 +1,6 @@
 Cabal-Version:    2.2
 Name:             utility-ht
-Version:          0.0.17
+Version:          0.0.17.1
 License:          BSD-3-Clause
 License-File:     LICENSE
 Author:           Henning Thielemann <haskell@henning-thielemann.de>
@@ -39,7 +39,7 @@
 Source-Repository this
   type:     darcs
   location: http://code.haskell.org/~thielema/utility/
-  tag:      0.0.17
+  tag:      0.0.17.1
 
 Library
   Build-Depends:
@@ -90,7 +90,7 @@
   Build-Depends:
     QuickCheck >=1.1 && <3,
     doctest-exitcode-stdio >=0.0 && <0.1,
-    doctest-lib >=0.1 && <0.1.1,
+    doctest-lib >=0.1 && <0.1.2,
     base >=3 && <5
   Default-Language: Haskell98
   Main-Is:          Test.hs
@@ -107,3 +107,4 @@
     DocTest.Data.Maybe.HT
     DocTest.Data.Bool.HT.Private
     DocTest.Data.Function.HT.Private
+    DocTest.Data.Ix.Enum
