content: {-# LANGUAGE CPP #-}
  -- | @Seq@. Import as:
  --
  -- > import qualified RIO.Seq as Seq
  module RIO.Seq
    (
      Data.Sequence.Seq(..)
  
      -- * Construction
    , Data.Sequence.empty
    , Data.Sequence.singleton
    , (Data.Sequence.<|)
    , (Data.Sequence.|>)
    , (Data.Sequence.><)
    , Data.Sequence.fromList
    , Data.Sequence.fromFunction
    , Data.Sequence.fromArray
  
      -- ** Repetition
    , Data.Sequence.replicate
    , Data.Sequence.replicateA
    , Data.Sequence.replicateM
  #if MIN_VERSION_containers(0, 5, 8)
    , Data.Sequence.cycleTaking
  #endif
  
      -- ** Iterative construction
    , Data.Sequence.iterateN
    , Data.Sequence.unfoldr
    , Data.Sequence.unfoldl
  
      -- * Deconstruction
      -- | Additional functions for deconstructing sequences are available via the
      -- 'Foldable' instance of 'Seq'.
  
      -- ** Queries
    , Data.Sequence.null
    , Data.Sequence.length
      -- ** Views
    , Data.Sequence.ViewL(..)
    , Data.Sequence.viewl
    , Data.Sequence.ViewR(..)
    , Data.Sequence.viewr
  
      -- * Scans
    , Data.Sequence.scanl
    , Data.Sequence.scanl1
    , Data.Sequence.scanr
    , Data.Sequence.scanr1
  
      -- * Sublists
    , Data.Sequence.tails
    , Data.Sequence.inits
  #if MIN_VERSION_containers(0, 5, 8)
    , Data.Sequence.chunksOf
  #endif
  
      -- ** Sequential searches
    , Data.Sequence.takeWhileL
    , Data.Sequence.takeWhileR
    , Data.Sequence.dropWhileL
    , Data.Sequence.dropWhileR
    , Data.Sequence.spanl
    , Data.Sequence.spanr
    , Data.Sequence.breakl
    , Data.Sequence.breakr
    , Data.Sequence.partition
    , Data.Sequence.filter
  
      -- * Sorting
    , Data.Sequence.sort
    , Data.Sequence.sortBy
    , Data.Sequence.unstableSort
    , Data.Sequence.unstableSortBy
  
      -- * Indexing
  #if MIN_VERSION_containers(0, 5, 8)
    , Data.Sequence.lookup
    , (Data.Sequence.!?)
  #endif
    , Data.Sequence.index
    , Data.Sequence.adjust
  
  #if MIN_VERSION_containers(0, 5, 8)
    , Data.Sequence.adjust'
  #endif
    , Data.Sequence.update
    , Data.Sequence.take
    , Data.Sequence.drop
  #if MIN_VERSION_containers(0, 5, 8)
    , Data.Sequence.insertAt
    , Data.Sequence.deleteAt
  #endif
    , Data.Sequence.splitAt
  
      -- ** Indexing with predicates
      -- | These functions perform sequential searches from the left or right ends
      -- of the sequence elements.
    , Data.Sequence.elemIndexL
    , Data.Sequence.elemIndicesL
    , Data.Sequence.elemIndexR
    , Data.Sequence.elemIndicesR
    , Data.Sequence.findIndexL
    , Data.Sequence.findIndicesL
    , Data.Sequence.findIndexR
    , Data.Sequence.findIndicesR
  
      -- * Folds
      -- | General folds are available via the 'Foldable' instance of 'Seq'.
  #if MIN_VERSION_containers(0, 5, 8)
    , Data.Sequence.foldMapWithIndex
  #endif
    , Data.Sequence.foldlWithIndex
    , Data.Sequence.foldrWithIndex
  
      -- * Transformations
    , Data.Sequence.mapWithIndex
  #if MIN_VERSION_containers(0, 5, 8)
    , Data.Sequence.traverseWithIndex
  #endif
    , Data.Sequence.reverse
  #if MIN_VERSION_containers(0, 5, 8)
    , Data.Sequence.intersperse
  #endif
  
      -- ** Zips
    , Data.Sequence.zip
    , Data.Sequence.zipWith
    , Data.Sequence.zip3
    , Data.Sequence.zipWith3
    , Data.Sequence.zip4
    , Data.Sequence.zipWith4
    ) where
  
  import qualified Data.Sequence
  