# E4006

This error occurs when the same local function name is declared multiple times in a local recursive function group. Each function in the group must have a unique name.

## Erroneous Example

```{literalinclude} /sources/error_codes/4006_error/top.mbt
:language: moonbit
```

## Suggestion

To fix this error, give each local function in the recursive group a unique name:

```{literalinclude} /sources/error_codes/4006_fixed/top.mbt
:language: moonbit
```

You can also move one of the functions to a different scope or merge the functionality into a single function if they serve similar purposes.
