# E4005

This error occurs when a trait has multiple declarations of the same method name. Each method in a trait must have a unique name to avoid ambiguity.

## Erroneous example

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

## Suggestion

Remove the duplicate method declaration and keep only one definition for each method name:

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

If you need different method behaviors, use distinct method names:

```{literalinclude} /sources/error_codes/4005_fixed/top_1.mbt
:language: moonbit
```
