module Mit.Seq
  ( pattern NonEmpty,
    pattern Singleton,
    toList,
  )
where

import Data.Foldable qualified as Foldable
import Data.Sequence

pattern NonEmpty :: Seq a
pattern $mNonEmpty :: forall {r} {a}. Seq a -> ((# #) -> r) -> ((# #) -> r) -> r
NonEmpty <- _ :<| _

{-# COMPLETE Empty, NonEmpty #-}

pattern Singleton :: Seq a
pattern $mSingleton :: forall {r} {a}. Seq a -> ((# #) -> r) -> ((# #) -> r) -> r
Singleton <- _ :<| Empty

toList :: Seq a -> [a]
toList :: forall a. Seq a -> [a]
toList =
  forall (t :: * -> *) a. Foldable t => t a -> [a]
Foldable.toList