module Set (
   Set,
   member,
   empty, singleton, delete,
   union, unions,
   elems, fromList
) where

import Data.Set 

#if __GLASGOW_HASKELL__ < 603
member :: Ord a => a -> Set a -> Bool
member = elementOf

empty  :: Set a
empty = emptySet

singleton :: a -> Set a
singleton  = unitSet

delete :: Ord a => a -> Set a -> Set a
delete = flip delFromSet

unions :: Ord a => [Set a] -> Set a
unions = unionManySets

elems :: Set a -> [a] 
elems = setToList

fromList :: Ord a => [a] -> Set a 
fromList = mkSet
#endif