[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/037c390af081e9944d616ff298a729515c5c5ab7/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<
  {
    a: string;
    b: number;
  },
  B
>();
```