[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Type](https://evolu.dev/docs/api-reference/common/Type) › TypeErrorWithReason

Defined in: [packages/common/src/Type.ts:494](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Type.ts#L494)

## Extends

- [`TypeError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/TypeError)\<`Name`\>

## Extended by

- [`ArrayError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/ArrayError)
- [`SetError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/SetError)
- [`RecordError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/RecordError)
- [`ObjectError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/ObjectError)
- [`ObjectWithRecordError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/ObjectWithRecordError)
- [`TupleError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/TupleError)

## Properties

<a id="reason-1"></a>

### reason

```ts
readonly reason: Reason;
```

Defined in: [packages/common/src/Type.ts:501](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Type.ts#L501)

The detailed reason for the error, represented as a tagged union.

---

<a id="type"></a>

### type

```ts
readonly type: Name;
```

Defined in: [packages/common/src/Type.ts:485](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Type.ts#L485)

#### Inherited from

[`TypeError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/TypeError).[`type`](https://evolu.dev/docs/api-reference/common/Type/interfaces/TypeError#type)

---

<a id="value"></a>

### value

```ts
readonly value: unknown;
```

Defined in: [packages/common/src/Type.ts:491](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Type.ts#L491)

The value that was received and caused the error. Provides additional
context for debugging and validation feedback.

#### Inherited from

[`TypeError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/TypeError).[`value`](https://evolu.dev/docs/api-reference/common/Type/interfaces/TypeError#value)