-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | GenValidity support for containers
--   
--   GenValidity support for containers
@package genvalidity-containers
@version 0.8.0.2

module Data.GenValidity.Map
genStructurallyValidMapOf :: Ord k => Gen (k, v) -> Gen (Map k v)
genStructurallyValidMapOfInvalidValues :: (Ord k, GenUnchecked k, GenInvalid k, GenUnchecked v, GenInvalid v) => Gen (Map k v)
genStructurallyInvalidMap :: (Show k, Ord k, GenUnchecked k, GenUnchecked v) => Gen (Map k v)
instance (GHC.Classes.Ord k, Data.GenValidity.GenUnchecked k, Data.GenValidity.GenUnchecked v) => Data.GenValidity.GenUnchecked (Data.Map.Internal.Map k v)
instance (GHC.Show.Show k, GHC.Classes.Ord k, Data.GenValidity.GenValid k, Data.GenValidity.GenValid v) => Data.GenValidity.GenValid (Data.Map.Internal.Map k v)
instance (GHC.Show.Show k, GHC.Classes.Ord k, Data.GenValidity.GenUnchecked k, Data.GenValidity.GenInvalid k, Data.GenValidity.GenUnchecked v, Data.GenValidity.GenInvalid v) => Data.GenValidity.GenInvalid (Data.Map.Internal.Map k v)

module Data.GenValidity.Sequence
instance Data.GenValidity.GenUnchecked v => Data.GenValidity.GenUnchecked (Data.Sequence.Internal.Seq v)
instance Data.GenValidity.GenValid v => Data.GenValidity.GenValid (Data.Sequence.Internal.Seq v)
instance (Data.GenValidity.GenUnchecked v, Data.GenValidity.GenInvalid v) => Data.GenValidity.GenInvalid (Data.Sequence.Internal.Seq v)

module Data.GenValidity.Set
genStructurallyValidSetOf :: Ord v => Gen v -> Gen (Set v)
genStructurallyValidSetOfInvalidValues :: (Ord v, GenUnchecked v, GenInvalid v) => Gen (Set v)
genStructurallyInvalidSet :: (Ord v, GenUnchecked v) => Gen (Set v)
instance (GHC.Classes.Ord v, Data.GenValidity.GenUnchecked v) => Data.GenValidity.GenUnchecked (Data.Set.Internal.Set v)
instance (GHC.Classes.Ord v, Data.GenValidity.GenValid v) => Data.GenValidity.GenValid (Data.Set.Internal.Set v)
instance (GHC.Classes.Ord v, Data.GenValidity.GenUnchecked v, Data.GenValidity.GenInvalid v) => Data.GenValidity.GenInvalid (Data.Set.Internal.Set v)

module Data.GenValidity.Tree

-- | Generate a tree of values that are generated as specified.
--   
--   This takes the size parameter much better into account
genTreeOf :: Gen a -> Gen (Tree a)
instance Data.GenValidity.GenUnchecked a => Data.GenValidity.GenUnchecked (Data.Tree.Tree a)
instance Data.GenValidity.GenValid a => Data.GenValidity.GenValid (Data.Tree.Tree a)
instance (Data.GenValidity.GenUnchecked a, Data.GenValidity.GenInvalid a) => Data.GenValidity.GenInvalid (Data.Tree.Tree a)

module Data.GenValidity.Containers

-- | Generate a tree of values that are generated as specified.
--   
--   This takes the size parameter much better into account
genTreeOf :: Gen a -> Gen (Tree a)
