{-# OPTIONS_GHC -fno-warn-orphans #-} module Data.Validity.HashSet where import Data.Validity import Data.Validity.HashMap () import Data.HashSet (HashSet) import qualified Data.HashSet as HS import Data.Hashable (Hashable) -- | A 'HashSet' of things is valid if all the elements are valid and -- the underlying 'HashMap' is valid. instance (Hashable v, Validity v) => Validity (HashSet v) where isValid hs = isValid $ HS.toMap hs validate hs = HS.toMap hs "HashSet elements"