When to Use `OneOf<...>` vs `Result`
Result<T> |
OneOf<T1,...,T4> |
|
|---|---|---|
| Success | Single value T |
One of N types |
| Failure | IEnumerable<IError> |
Typed failure cases |
| Pattern match | Match(onSuccess, onFailure) |
Match(case1, case2, ...) |
| HTTP mapping | ToIResult() |
ToIResult() |
| Best for | Validation pipelines, multiple errors | API responses, typed error discrimination |