Simple Either monad implementation. Great way to chain actions that may result in error and keep their context, both successful and erroneous.
Denis Redozubov
MIT