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

```ts
type Simplify<T> = { [K in keyof T]: T[K] } & {};
```

Defined in: [packages/common/src/Types.ts:347](https://github.com/evoluhq/evolu/blob/dd96d79f1dbe9a49fa12ce8e0aa7d3d0177795ca/packages/common/src/Types.ts#L347)

Simplify an intersection type into a single mapped type.

This utility forces TypeScript to "flatten" an intersection type into a
single object type so that tooltips and error messages are easier to read.

### Flattening an intersection

```ts

type A = { a: string } & { b: number };
type B = Simplify<A>;

assertType<
  B,
  {
    a: string;
    b: number;
  }
>();
```