    {-# OPTIONS_GHC -fno-warn-orphans #-}
    module Test.QuickCheck.Instances.Text.Short () where

    import Prelude ()
    import Test.QuickCheck.Instances.CustomPrelude

    import Test.QuickCheck

    import qualified Data.Text.Short as T

    -------------------------------------------------------------------------------
    -- text
    -------------------------------------------------------------------------------

    instance Arbitrary T.ShortText where
        arbitrary :: Gen ShortText
    arbitrary = [Char] -> ShortText
    T.pack ([Char] -> ShortText) -> Gen [Char] -> Gen ShortText
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    <$> Gen [Char]
    forall a. Arbitrary a => Gen a
    arbitrary
        shrink :: ShortText -> [ShortText]
    shrink ShortText
    xs = [Char] -> ShortText
    T.pack ([Char] -> ShortText) -> [[Char]] -> [ShortText]
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    <$> [Char] -> [[Char]]
    forall a. Arbitrary a => a -> [a]
    shrink (ShortText -> [Char]
    T.unpack ShortText
    xs)

    instance CoArbitrary T.ShortText where
        coarbitrary :: forall b. ShortText -> Gen b -> Gen b
    coarbitrary = [Char] -> Gen b -> Gen b
    forall b. [Char] -> Gen b -> Gen b
    forall a b. CoArbitrary a => a -> Gen b -> Gen b
    coarbitrary ([Char] -> Gen b -> Gen b)
    -> (ShortText -> [Char]) -> ShortText -> Gen b -> Gen b
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . ShortText -> [Char]
    T.unpack

    instance Function T.ShortText where
        function :: forall b. (ShortText -> b) -> ShortText :-> b
    function = (ShortText -> [Char])
    -> ([Char] -> ShortText) -> (ShortText -> b) -> ShortText :-> b
    forall b a c.
    Function b =>
    (a -> b) -> (b -> a) -> (a -> c) -> a :-> c
    functionMap ShortText -> [Char]
    T.unpack [Char] -> ShortText
    T.pack