# Type Alias: Result\<T, E>

> **Result**\<`T`, `E`> = [`Success`](./Result.Success.md)\<`T`> | [`Failure`](./Result.Failure.md)\<`E`>

A union type representing either a success or a failure.

## Type Parameters

### T

`T`

The type of the [Success](./Result.Success.md) value.

### E

`E`

The type of the [Failure](./Result.Failure.md) value.

## Example

```ts
import { Result } from '@praha/byethrow';

const doSomething = (): Result.Result<number, string> => {
  return Math.random() > 0.5
    ? { type: 'Success', value: 10 }
    : { type: 'Failure', error: 'Oops' };
};
```
