    {-# LANGUAGE CPP #-}

    -- | @Set@. Import as:
    --
    -- > import qualified RIO.Set as Set
    --
    -- This module does not export any partial or unchecked functions.  For those,
    -- see "RIO.Set.Partial" and "RIO.Set.Unchecked"
    module RIO.Set
      (
      -- * Set type
        Data.Set.Set

      -- * Operators
      , (Data.Set.\\)

      -- * Query
      , Data.Set.null
      , Data.Set.size
      , Data.Set.member
      , Data.Set.notMember
      , Data.Set.lookupLT
      , Data.Set.lookupGT
      , Data.Set.lookupLE
      , Data.Set.lookupGE
      , Data.Set.isSubsetOf
      , Data.Set.isProperSubsetOf

      -- * Construction
      , Data.Set.empty
      , Data.Set.singleton
      , Data.Set.insert
      , Data.Set.delete

      -- * Combine
      , Data.Set.union
      , Data.Set.unions
      , Data.Set.difference
      , Data.Set.intersection

      -- * Filter
      , Data.Set.filter
    #if MIN_VERSION_containers(0,5,8)
      , Data.Set.takeWhileAntitone
      , Data.Set.dropWhileAntitone
      , Data.Set.spanAntitone
    #endif
      , Data.Set.partition
      , Data.Set.split
      , Data.Set.splitMember
      , Data.Set.splitRoot

      -- * Indexed
      , Data.Set.lookupIndex
    #if MIN_VERSION_containers(0,5,8)
      , Data.Set.take
      , Data.Set.drop
      , Data.Set.splitAt
    #endif

      -- * Map
      , Data.Set.map

      -- * Folds
      , Data.Set.foldr
      , Data.Set.foldl
      -- ** Strict folds
      , Data.Set.foldr'
      , Data.Set.foldl'

      -- * Min\/Max
    #if MIN_VERSION_containers(0,5,9)
      , Data.Set.lookupMin
      , Data.Set.lookupMax
    #endif
      , Data.Set.deleteMin
      , Data.Set.deleteMax
      , Data.Set.maxView
      , Data.Set.minView

      -- * Conversion

      -- ** List
      , Data.Set.elems
      , Data.Set.toList
      , Data.Set.fromList

      -- ** Ordered list
      , Data.Set.toAscList
      , Data.Set.toDescList

      -- * Debugging
      , Data.Set.showTree
      , Data.Set.showTreeWith
      , Data.Set.valid
      ) where

    import qualified Data.Set