module Data.GenValidity.Set where
#if !MIN_VERSION_base(4,8,0)
import Data.Functor ((<$>))
#endif
import Data.GenValidity
import Data.Validity.Set ()
import Data.Set (Set)
import qualified Data.Set as S
instance (Ord v, GenUnchecked v) => GenUnchecked (Set v) where
genUnchecked = S.fromList <$> genUnchecked
shrinkUnchecked = fmap S.fromList . shrinkUnchecked . S.toList
instance (Ord v, GenValid v) => GenValid (Set v) where
genValid = S.fromList <$> genValid
instance (Ord v, GenInvalid v) => GenInvalid (Set v) where
genInvalid = S.fromList <$> genInvalid