Adds failure.
Uses Maybe as the semigroup.
Monad operations.
Naive immutable vector implementation.
Asynchronous concurrency.