module Test.QuickCheck.Instances.Array where import Test.QuickCheck import Control.Applicative import Data.Array instance (Ix a, Integral a, Arbitrary b) => Arbitrary (Array a b) where arbitrary = (\x -> listArray (0,fromIntegral (length x - 1)) x) <$> arbitrary instance (Ix a, Integral a, CoArbitrary b) => CoArbitrary (Array a b) where coarbitrary = coarbitrary . elems