Combine results
Compose multiple Results with and, or, andThen, and flatten.
Convert a Promise
Turn a Promise<T> into a Pending<T, E> whose rejection is typed.
Migrate from throwing code
Move an existing throwing module to Result without rewriting everything at once.
Narrow Result states
Use isOk, isErr, and isPending as type guards to access value and error safely.
Recover from errors
Choose between orElse, unwrapOr, and unwrapOrElse when substituting a fallback value.
Use Result.do
Use the generator syntax to write fail-fast Result pipelines that read like straight-line code.
Wrap a throwing function
Convert a synchronous or async function that may throw into one that returns a Result.