# E4229

`#alias` is not supported on `declare fn` or `declare let` declarations.
These declarations describe an interface without providing its implementation.

## Erroneous example

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

## Suggestion

Move `#alias` to the corresponding function or value definition.
If the alias is part of a declaration-based interface, declare its name
separately. The declarations check the signatures, not whether one name is
implemented as an alias of the other.

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