Represents the result of the execution of a fiber. It may terminate in one of 3 states:
- Succeeded(fa) The fiber completed with a value.
A commonly asked question is why this wraps a value of type F[A] rather than one of type
A. This is to support monad transformers. Consider
Int]) oc <- fiber.join } yield oc ```
If the fiber succeeds then there is no value of type `Int` to be wrapped in `Succeeded`,
hence `Succeeded` contains a value of type `OptionT[IO, Int]` instead.
In general you can assume that binding on the value of type `F[A]` contained in `Succeeded`
does not perform further effects. In the case of `IO` that means that the outcome has been
constructed as `Outcome.Succeeded(IO.pure(result))`.
2. Errored(e) The fiber exited with an error.
3. Canceled() The fiber was canceled, either externally or self-canceled via
`MonadCancel[F]#canceled`.
- Companion
- object