{-# GHC_PRAGMA INTERFACE VERSION 5 #-} interface Set where import FiniteMap(FiniteMap, intersectFM, keysFM, minusFM, plusFM) data FiniteMap a b {-# GHC_PRAGMA EmptyFM | Branch a b Int# (FiniteMap a b) (FiniteMap a b) #-} type Set a = FiniteMap a () elementOf :: Ord a => a -> FiniteMap a () -> Bool {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-} emptySet :: FiniteMap a () {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _ORIG_ FiniteMap EmptyFM [u0, ()] [] _N_ #-} intersect :: Ord a => FiniteMap a () -> FiniteMap a () -> FiniteMap a () {-# GHC_PRAGMA _A_ 1 _U_ 221 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ FiniteMap intersectFM { u0 } { () } _N_ #-} intersectFM :: Ord a => FiniteMap a b -> FiniteMap a b -> FiniteMap a b {-# GHC_PRAGMA _A_ 1 _U_ 221 _N_ _N_ _N_ _N_ #-} isEmptySet :: FiniteMap a () -> Bool {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-} keysFM :: FiniteMap b a -> [b] {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-} mapSet :: Ord b => (a -> b) -> FiniteMap a () -> FiniteMap b () {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-} minusFM :: Ord a => FiniteMap a b -> FiniteMap a b -> FiniteMap a b {-# GHC_PRAGMA _A_ 1 _U_ 221 _N_ _N_ _N_ _N_ #-} minusSet :: Ord a => FiniteMap a () -> FiniteMap a () -> FiniteMap a () {-# GHC_PRAGMA _A_ 1 _U_ 221 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ FiniteMap minusFM { u0 } { () } _N_ #-} mkSet :: Ord a => [a] -> FiniteMap a () {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-} plusFM :: Ord a => FiniteMap a b -> FiniteMap a b -> FiniteMap a b {-# GHC_PRAGMA _A_ 1 _U_ 221 _N_ _N_ _N_ _N_ #-} setToList :: FiniteMap a () -> [a] {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ FiniteMap keysFM { () } { u0 } _N_ #-} singletonSet :: a -> FiniteMap a () {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-} union :: Ord a => FiniteMap a () -> FiniteMap a () -> FiniteMap a () {-# GHC_PRAGMA _A_ 1 _U_ 221 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ FiniteMap plusFM { u0 } { () } _N_ #-} unionManySets :: Ord a => [FiniteMap a ()] -> FiniteMap a () {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}