**Packages**- base
- QuickCheck
- containers
- stm

Evaluate each action in the sequence from left to right, and ignore the results.

This generalizes the list-based concat function.

Evaluate each action in the structure from left to right, and ignore the results.

Evaluate each monadic action in the structure from left to right, and ignore the results.

Randomly uses one of the given generators. The input list must be non-empty.

The union of a list of maps.
> unions [(fromList [(5, "a"), (3, "b")]), (fromList [(5, "A"), (7, "C")]), (fromList [(5, "A3"), (3, "B3")])]
> == fromList [(3, "b"), (5, "a"), (7, "C")]
> unions [(fromList [(5, "A3"), (3, "B3")]), (fromList [(5, "A"), (7, "C")]), (fromList [(5, "a"), (3, "b")])]
> == fromList [(3, "B3"), (5, "A3"), (7, "C")]

Combines all parsers in the specified list.

Combines all parsers in the specified list.

Concatenate a list of lists.

Discard the return value of an IO action

optional p optionally parses p and always returns ().

Like many, but discards the result.

Like many1, but discards the result.

alwaysSucceeds adds a new invariant that must be true when passed to alwaysSucceeds, at the end of the current transaction, and at the end of every subsequent transaction. If it fails at any of those points then the transaction violating it is aborted and the exception raised by the invariant is propagated.

The sum of a collection of actions, generalizing concat.

The sum of a collection of actions, generalizing concat.

Like replicateM, but discards the result.

The union of a list of maps, with a combining operation.
> unionsWith (++) [(fromList [(5, "a"), (3, "b")]), (fromList [(5, "A"), (7, "C")]), (fromList [(5, "A3"), (3, "B3")])]
> == fromList [(3, "bB3"), (5, "aAA3"), (7, "C")]