module Data.Text.Coarbitrary where import Test.QuickCheck import Data.Text (Text) import qualified Data.Text as X text :: Text -> Gen b -> Gen b text t = case X.uncons t of Nothing -> variant (0 :: Int) Just (x, xs) -> variant (1 :: Int) . coarbitrary x . text xs