{-# LANGUAGE DeriveGeneric, ScopedTypeVariables #-}
module Main where
import GHC.Generics (Generic)
import Test.QuickCheck
data Nat = Z | S Nat deriving (Eq, Show, Generic)
instance Arbitrary Nat
main :: IO ()
main = do
print $ genericShrink (S (S Z)) == [S Z]
print $ genericShrink [0::Int] == [[]]