:: int -> [a] -> [a] -package:diagrams-contrib

Keep value x alive until computation k completes. Warning: This primop exists for completeness, but it is difficult to use correctly. Prefer keepAliveUnlifted if the value to keep alive is simply a wrapper around an unlifted type (e.g. ByteArray).
Variant of keepAlive in which the value kept alive is of an unlifted boxed type.
The genericTake function is an overloaded version of take, which accepts any Integral value as the number of elements to take.
The genericDrop function is an overloaded version of drop, which accepts any Integral value as the number of elements to drop.
Shuffle elements of a list in a uniformly random order.

Examples

>>> import System.Random.Stateful

>>> runStateGen_ (mkStdGen 127) $ uniformShuffleListM "ELVIS"
"LIVES"