module Data.Random.Sequence (randomElementT) where import Data.Random import Data.Sequence as SQ randomElementT :: Seq a -> RVarT m a randomElementT xs | SQ.null xs = error "randomElementT: empty seq!" randomElementT xs = do n <- uniformT 0 (SQ.length xs - 1) return (xs `index` n)