content: -- | A 'HashPSQ' offers very similar performance to 'IntPSQ'. In case of
  -- collisions, it uses an 'OrdPSQ' locally to solve those.
  --
  -- This means worst case complexity is usually given by /O(min(n,W), log n)/,
  -- where /W/ is the number of bits in an 'Int'. This simplifies to /O(min(n,W))/
  -- since /log n/ is always smaller than /W/ on current machines.
  module Data.HashPSQ
      ( -- * Type
        HashPSQ
  
        -- * Query
      , null
      , size
      , member
      , lookup
      , findMin
  
        -- * Construction
      , empty
      , singleton
  
        -- * Insertion
      , insert
  
        -- * Delete/update
      , delete
      , deleteMin
      , alter
      , alterMin
  
        -- * Lists
      , fromList
      , toList
      , keys
  
        -- * Views
      , insertView
      , deleteView
      , minView
      , atMostView
  
        -- * Traversal
      , map
      , unsafeMapMonotonic
      , fold'
  
        -- * Unsafe operations
      , unsafeLookupIncreasePriority
      , unsafeInsertIncreasePriority
      , unsafeInsertIncreasePriorityView
  
        -- * Validity check
      , valid
      ) where
  
  import           Prelude               hiding (foldr, lookup, map, null)
  
  import           Data.HashPSQ.Internal
  