# TS2393: Duplicate function implementation.

> Two functions or methods with the same name both have a body in the same scope. Remove or rename one of them.

## What it means

A name can have several overload signatures but only one implementation. A second function
declaration with a body in the same scope (or class) is reported on both.

## Example

```ts
export function area(r: number): number {
  return Math.PI * r * r;
}
export function area(w: number, h: number): number {
  return w * h;
}
```

## How to fix

- Rename one of the functions (`circleArea`, `rectArea`).
- Or merge them into one implementation and describe the forms with overload signatures.

Source: https://ts-r.dev/errors/TS2393/
